SummArg | Cursos y recursos para webmasters

19/11/2013

¿Cuándo es conveniente crear un plugin WordPress?

En un proyecto web construido con WordPress son necesarios varios snippets que podemos ir incluyendo en el functions.php de nuestro theme, pero ¿es siempre recomendable hacerlo así? Existen oportunidades en donde debemos usar varios themes a la vez, por ejemplo en casos en los que cambiamos de theme según el user agent detectado, una técnica usada para presentar sitios en versión para móviles o tablets. O bien en situaciones en las que queremos renovar la imagen de un sitio con determinada frecuencia sin afectar a las funciones de un sitio.

Esto puede ser útil a la hora de definir shortcodes específicos para el sitio, tamaños especiales de miniaturas y selección automática de imagen destacada, metaboxes y custom post types, entre otras cosas. Podemos decir que lo mas prudente es crear plugins para funciones que no queremos que cambien el día en que cambiemos el theme.

Para crear un plugin para un sitio específico debemos seguir los siguientes pasos:

  • Creamos una carpeta dentro de plugins con el nombre del plugin.
  • Creamos un archivo mi-plugin.php dentro.

Ahora para colocar nuestra función en el archivo del plugin simplemente respetamos el encabezado:

<?php
/*
Plugin Name: Mi plugin Genial!
Description: Un plugin para summarg, simplemente desopilante
*/
/* Acá va mi función */
?>

Y ya que llegamos hasta acá, construyamos un plugin en donde definimos tamaños de miniaturas y seleccionamos automáticamente una imagen destacada (hace mucho vimos como hacerlo en esta entrada).

<?php
/*
Plugin Name: Plugin de miniaturas para mi sitio
Description: Establece tamaños de miniaturas y coloca una destacada automaticamente
*/
add_theme_support('post-thumbnails');
add_image_size( 'imagendestacada', 650, 310, true);
add_image_size( 'imagenportada', 620, 600,true);
add_image_size ( 'imagencateforia', 500, 300, true) ;
function autoset_featured() {
          global $post;
          $already_has_thumb = has_post_thumbnail($post->ID);
              if (!$already_has_thumb)  {
              $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
                          if ($attached_image) {
                                foreach ($attached_image as $attachment_id => $attachment) {
                                set_post_thumbnail($post->ID, $attachment_id);
                                }
                           }
                        }
      }
add_action('the_post', 'autoset_featured');
add_action('save_post', 'autoset_featured');
add_action('draft_to_publish', 'autoset_featured');
add_action('new_to_publish', 'autoset_featured');
add_action('pending_to_publish', 'autoset_featured');
add_action('future_to_publish', 'autoset_featured');
?>

En nuestro panel de plugins veremos el nuestro, listo para ser activado.

plugins

Recuerden que la carpeta que debemos generar para colocar dentro nuestro plugin no debe tener caracteres especiales ni espacios, sino WordPress no podrá identificarlo.

Dejar un comentario

  1. […] pero evidentemente sigue funcionando. Sin embargo el mejor modo sigue siendo a través de un plugin propio o bien editando el functions.php e insertando el siguiente […]

Dejar un comentario