Campos personalizados y qTranslate

   

Written by:

WordPress nos permite añadir campos personalizados (Custom Fields) en nuestros post como información adicional. Para ello entraremos en añadir Entrada y bajo el contenido del post encontramos una sección de Campos Personalizados. Si este no os aparece es porque esta desactivada la visualización, que activaremos en botón Opciones de pantalla que hay situado en la parte superior derecha de la página.

Custom Field

Una vez activado creamos nuestro primer campo personalizado y crearemos en nombre o id y el contenido del mismo. Cuando creamos un nuevo campo tenemos la opción de utilizar mediante el desplegable un campo que ya hayamos utilizado en otro post o pinchando en Nuevo habilitará un input para introducir el valor deseado.

Para visualizar todos los campos utilizaremos la funcion the_meta() código:

    <?php the_meta(); ?>

Si deseamos mostrar un campo concreto debermos utilizar la función get_post_meta() donde le enviamos el identificardor del post, el nombre del campo a visualizar (ojo distingue mayusculas de minusculas, Case Sensitive)  y por ultimo un valor boleano donde true devuelve un unico valor en este caso el del campo a visualizar y  en caso false una matriz con todos los metas (campos personalizados)

     <?php $estrategia = get_post_meta($post->ID, 'Estrategia', true); ?>
     <?php echo $estrategia ?>

En este código se le puede añadir una condición de si tiene contenido la mostramos  y así poder añadirle estilos que se ocultarán en caso de que la variable esta vacia.

Y para todos aquellos que tengan idiomatico en la página que?

Para los que usen el qTranslate utilizaremos los campos de la misma forma pero añadiendo las etiquetas de separación de idiomas de qTranslate en el campo Valor

<!--:es-->Valor de mi campo personalizado en español<!--:-->
<!--:en-->Value of my customized field in English<!--:-->

Para mostrar el Campo Personalizado según el idioma debemos substituir el codigo anterior (the_meta() o get_post_meta() ) por la siguiente función:

<?php          
    $mykey_values = get_post_custom_values('Estrategia');
    foreach ( $mykey_values as $key => $value ) {
        echo qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($value);
    }
?>

Ayuda: Los campos personalizados solo estan disponibles en la versión .org de WordPress(diferencia entre los diferentes WordPress)

Una respuesta a “Campos personalizados y qTranslate”

  1. Avatar de suso
    suso

    Muy buen articulo, donde se debe meter el código php??

    gracias

Deja un comentario