Cambiar el autor de un post en WordPress

11 de Junio de 2009 — Darío Ferrer

Cambiar autor en WordPressExisten muchas razones para cambiar el autor de un post. Supongo que el caso más relevante lo representa cuando traemos artículos ajenos a nuestra web y no deseamos que aparezca nuestro nombre como autor del mismo. En fin, el siguiente código lo propuse en un foro como solución a un problema expuesto por un usuario. Vamos a construirlo paso a paso (Para los queridos vagos y flojos: al final de este artículo pueden encontrar el código terminado. Cópienlo en frío y que les aproveche).

1.- Dirígete directo al directorio de tu plantilla y abre functions.php (si no existe créalo). Comienza por inventarte una función; en esta ocasión llamémosla mi_autor:

1
2
3
4
<?php
  function mi_autor() {
}
?>

2.- Trabajarás con campos personalizados (explicado más adelante), así que utilizarás la función nativa get_post_meta, la cual actúa de forma relativa a la entrada afectada. Siempre que eches mano a funciones de este tipo debes llamar a la variable universal $post para que ésta pueda operar. Recuerda eso siempre. Si no lo haces devolverá false y generará un resultado vacío (en cristiano: no aparecerá nada). Entonces tu código lucirá así:

1
2
3
4
5
<?php
  function mi_autor() {
  global $post;
}
?>

3.- Nombremos “autor” como clave campo personalizado que usarás. Ten en cuenta que “autor” (como campo) representa una clave única en la base de datos y no puede existir otro campo llamado “autor”, ya que WordPress localizará la clave “autor” de ese artículo y devolverá el valor. Aclarado este punto vámonos a la naciente función y asignamos get_post_meta a la variable, de esta manera:

1
2
3
4
5
6
<?php
  function mi_autor() {
  global $post;
    $autor = get_post_meta($post->ID, 'autor', true);
}
?>

4.- Ahora definamos la variable que dará salida al resultado. Llamémosla $aut y asignémosle en principio un valor vacío:

1
2
3
4
5
6
7
<?php
  function mi_autor() {
  global $post;
    $autor = get_post_meta($post->ID, 'autor', true);
    $aut ='';
}
?>

5.- Analicemos ahora las opciones que obtendrás una vez la función esté operativa:

  • Si dejas el campo vacío, apareces tú como autor.
  • Si escribes un nombre cualquiera, ese mismo es el que aparecerá.
  • Si escribes “no” (sin comillas) no aparecerá nada.

Traducimos lo anterior a lenguaje PHP y tenemos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
  function mi_autor() {
  global $post;
    $autor = get_post_meta($post->ID, 'autor', true);
    $aut ='';
    if($autor != '' and $autor != 'no') {
      $aut .= 'Por '.$autor;
    } elseif($autor == 'no') {
      $aut .= '';
    } else {
      $aut .= 'Por '.get_the_author();
    }
  echo $aut;
}
?>

Como pudiste notar utilizamos la variable $aut para construir nuestro conjunto de condicionales y cerrarla con broche de oro para que no existan opciones extrañas que puedan arruinar la función. Al final le damos salida con un echo, quedando lista para la acción.

Nota también cómo utilizamos get_the_author, la cual es la versión de the_author para ser utilizada en el paso de parámetros. Esto significa que si usas the_author conocerás el infierno de manera súbita y temprana, ya que el resultado será muy distinto al que esperabas.

Cómo aplicarlo en el panel

Nada más simple. Una vez guardes la función en functions.php sólo dirígete al panel de edición de tus artículos y rellenas el campo personalizados de esta forma:

cambiar-autor-1

  • Bitacoras.com
  • Meneame
  • Twitter
  • del.icio.us
  • Facebook
  • Digg
  • Technorati
  • BarraPunto

Publicado en Wordpress. 6 Comentarios »

6 comentarios

Comentar este artículo

Nombre (Requerido)

Correo (No será publicado) (Requerido)

Sitio web

Secciones

Anteriores

comentarios recientes

@Andrés en Dictador Micheletti: Haré lo que sea para convencer a Obama: Darío…! y yo queme mataba de la risa viendo cómo los Testigos de...

@Daniel en Dos tips sobre Adobe Reader: Detener AcroRd32Info.exe e impedir actualizaciones automáticas: muchas gracias man!!! genial la info que...

@Sebastian en ¿Joomla Vs. Wordpress? (1ª parte): Hola, excelente artículo, actualmente me encuentro definiendo que CMS usar y ando evaluando entre...

@Alyen en The Post Thumbnail Vs. WP Smart Image II: Gracias Darío, espero tu respuesta. Otra cosa tengo la traduccion desde hace tiempo, te aviso...

@Andrés en Cómo extraer miniaturas de imágenes en Wordpress (2da revisión – Código mejorado): Hola Darío: Ya solucioné mi problema. -...

@Andrés en Cómo extraer miniaturas de imágenes en Wordpress (2da revisión – Código mejorado): Hola a todos: He seguido todos los pasos...

@uri en 240 plugins JQuery: buenas Darío, buena recopilación… estoy buscando un plugin para wordpress que al pinchar a una imagen me la...

@ramon en ¿Joomla Vs. Wordpress? (1ª parte): felicidades por el articulo y por esa capacidad de analisis. Voy a contar mi experiencia y voy a...

Darío Ferrer — Blog personal

Sitio desarrollado con Wordpress, software libre para un mundo libre.

61 consultas a la BD en 0,704 segundos. Blog alojado en DreamHost