Categorías
Tecnología

Funciones útiles WordPress

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 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');

Por Luismi Sanchez

Full Stack Developer

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.