Algunas funciones de uso común en las implementaciones de WordPress. La mayoría recopiladas de otros sitios. Iré actualizando según vaya necesitando añadirlas a mis sitios.
- Ocultar barra de administración WP de Frontend
//Ocultar barra de administración WP de Frontend
function hide_admin_bar_from_front_end(){
if (is_blog_admin()) {
return true;
}
remove_action( 'wp_head', '_admin_bar_bump_cb' );
return false;
}
add_filter( 'show_admin_bar', 'hide_admin_bar_from_front_end' );
- Por defecto, WP en sus últimas versiones, sólo muestra excerpts en los Posts (árticulos del blog). Si queremos añadir esa funcionalidad a nuestrás páginas, haríamos algo así:
//Añadir excerpts a Páginas de WordPress
function my_add_excerpts_to_pages() {
add_post_type_support( 'page', 'excerpt' );
}
add_action( 'init', 'my_add_excerpts_to_pages' );
- Añadir scripts u hojas de estilos. Para comprender lo que se está haciendo, consultar WP Codex:
- Para encolar scripts (.js): http://codex.wordpress.org/Function_Reference/wp_enqueue_script
- Para encolar estilos (.css): http://codex.wordpress.org/Function_Reference/wp_enqueue_style
//Añadir scripts externos
function custom_js_func()
{
wp_enqueue_script( 'nombre_script', get_stylesheet_directory_uri().'/ruta-hacia-script/nombrescript.js', array('jquery'), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'custom_js_func', 100 );
//Añadir css externos
function custom_cs_func()
{
wp_enqueue_style( 'nombre_css', get_stylesheet_directory_uri().'/ruta-hacia-css/nombrecss.css' );
}
add_action( 'wp_enqueue_scripts', 'custom_cs_func', 100 );
- Añadir nuevas localizaciones de Menús en Templates que no las aceptan:
//Añadir nuevas localizaciones de Menús
function register_my_menus() {
register_nav_menus(
array(
'nombre-menu' => __( 'Nombre del Menu' )
)
);
}
add_action( 'init', 'register_my_menus' );
- Obtener metadatos de una imágen de WordPress:
//Meta datos WP de imágenes
function wp_get_attachment( $attachment_id ) {
$attachment = get_post( $attachment_id );
return array(
'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ),
'caption' => $attachment->post_excerpt,
'description' => $attachment->post_content,
'href' => get_permalink( $attachment->ID ),
'src' => $attachment->guid,
'title' => $attachment->post_title
);
}
- Cuando trabajamos con Child Themes, a veces modificamos las traducciones del template original. Para hacer que el template en el que trabajamos tome las traducciones de sus respectivos archivos .mo y .po y poder hacer modificaciones con plugins como WPML, qTranslate o Codestyling Localization podemos usar esta funcion:
//Localización para Child Themes
function my_child_theme_setup() {
load_child_theme_textdomain( 'nombre-child-theme', get_stylesheet_directory() . '/carpeta-idiomas' );
}
add_action( 'after_setup_theme', 'my_child_theme_setup' );
Más tarde, en el código del template, para aprovechar las capacidades de traducción usaríamos el siguiente código:
echo __('Cadena de texto a traducir.', 'nombre-child-theme');