Entradas

Lineas p y br en los shortcodes

Utilizar shortcodes en Wordpess es habitual y gracias a ellos obtienes un montón de opciones que no vienen de serie y facilitan la edición e inserción de contenidos, efectos, galerias, etc. Pero de la misma manera que nos encontramos a menudo que aparecen espacios o lineas en blanco en la edición normal, tambien ocurre en los shortcodes. En ocasiones, se generan etiquetas del tipo <br> y <p> que visualmente generan lineas en blanco presentando la información no alineada con el resto de contenido.

Para solucionarlo…. edita el fichero functions.php de tu theme (child theme preferiblemente) e inserta este código al final del mismo:

function wpex_fix_shortcodes($content){   
    $array = array (
        '<p>[' => '[', 
        ']</p>' => ']', 
        ']<br />' => ']'
    );

    $content = strtr($content, $array);
    return $content;
}
add_filter('the_content', 'wpex_fix_shortcodes');

Y nada mas… ahora, una vez guardado, verás que se eliminan esas líneas en blanco que aparecian sin más.

Cambiar la cabecera (header) en función del idioma

Ahora que estamos cada vez mas inmersos en la internacionalización de las empresas y vender nuestros productos y servicios en el extranjero se convierte en una via de ingresos importante para algunos sectores, resulta necesario tener tu página web en múltiples idiomas.

Hoy en dia, disponemos de un gran número de plugins para poder internacionalizar nuestra web con WordPress.

Uno de los plugins mas utilizados o conocidos es qtranslate.
En el fichero de la plantilla de pagina a modificar (page.php por ejemplo) deberás sustituir elSi tienes este plugin instalado, te resultará de interés el siguiente código para poder personalizar la cabecera (header) de tu página en función del idioma que seleccione el usuario.

get_header();
por estas lineas de código:

<?php if (qtrans_getLanguage() == 'es'): ?> 
<?php include(TEMPLATEPATH.'/header.php' ); ?> 
<?php else : ?> 
<?php include(TEMPLATEPATH.'/header-otro.php' ); ?> 
<?php endif; ?> 

En este caso, si el idioma seleccionado es el Español (‘es’) mostrará el header.php. Si no es así se cargará el otro header donde estará el formato que previamente habremos creado para nuestra “web internacional”

 

Desactivar menús en el administrador de WordPress

En alguna ocasión, podemos encontrarnos que al instalar un nuevo tema o un plugin de WordPress, aparezcan nuevos elementos en el menú de administración que no vamos a utilizar y que resulte interesante ocultarlos.

Al igual que la popular frase “Todos los caminos conducen a Roma”, aquí también tenemos varias opciones para hacerlo.

La primera opción puede ser mediante la instalación de un plugin. Existen bastantes opciones pero hay uno denominado Admin Menu Editor para WordPress que es muy sencillo de utilizar y rápido de gestionar como podeis ver en la imagen adjunta.

La segunda opción, por ejemplo, pasa por editar el fichero functions.php de tu template y añadir el siguiente código:


function remove_menus () {
global $menu;
$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
add_action('admin_menu', 'remove_menus');

Lo que conseguimos en este caso es ocultar los enlaces al Escritorio, Posts-Entradas, Multimedia, Enlaces… en nuestra lista de opciones de menú en el panel de administración.

Por ejemplo, para evitar que el usuario pueda acceder a según que menús de administración podemos hacer que solo se muestren los Post, Media y Pages eliminando éstas de la variable $restricted como se indica en este ejemplo:

$restricted = array(__('Dashboard'), __('Links'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));

De esta manera al hacer login en el panel de administración solamente podrá modifcar los artículos, archivos de la galeria de archivos multimedia y las páginas.

Esto se utiliza mucho en entornos donde damos acceso al usuario/cliente al panel de control de administración, pero nosotros como webmasters, no queremos que acceda a otras zonas, evitando que pueda cambiar opciones de configuración que puedan afectar al rendimiento, comportamiento o diseño de la web.

Como listar las últimas entradas o posts en tu WordPress

Otra tarea bastante común en el desarrollo de un website consiste en crear una sección de noticias sin utilizar los formatos que vienen preestablecidos evitando visualizar los últimos posts en los sidebar laterales a traves de los plugins habituales.

Si hemos modificado el código de nuestro template y hemos creado diseño de páginas especificas para las secciones, estamos seguros que necesitarás este código para insertar las entradas de los últimos posts o artículos allí donde quieras en tu WordPress.

Para ello, debemos utilizar la función query_post(). A continuación te dejamos un simple ejemplo del código a añadir en tu página del template.

 

    •  

 

 


Como ocultar páginas de los resultados del buscador de tu WordPress

En ocasiones tienes páginas que estan ocultas y que son de pruebas o simplemente son espacios con información no válida para los visitantes del web o blog, pero que pueden ser accesibles simplemente con el buscador que lleva WordPress por defecto y te pueden hacer sacar los colores

Este buscador propio de WordPress busca el texto o cadena en TODO el contenido público por lo que puedes llevarte una sorpresa si se muestran páginas sobre las que estas realizando esas tareas de administración propias de cualquier equipo de desarrollo web y que no quieres que nadie vea … de momento.

Solución

Para evitar que se muestren esas páginas, existe una función de WordPress que podemos incluir en el fichero funtions.php de nuestro theme. Para ello debemos insertar la siguiente función:

function filter_where($where = ”) { if ( is_search() ) { $exclude = array(2,297); for($x=0;$x $where .= ” AND ID != “.$exclude[$x]; }} return $where; } add_filter(‘posts_where’, ‘filter_where’); 

En la variable $exclude tenemos el array donde insertaremos los id de las páginas a ocultar, (en este caso ocultaremos las páginas 2 y 297) evitando que se muestren en la página de resultados de las búsquedas.

La otra opción, es utilizar las características privadas o paginas protegidas con contraseña para evitar estas situaciones a veces, embarazosas 😉