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.

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