La página de Er_Maqui

  Modificación de plugin de WordPress


    Aquí voy a hablar un poco de la modificación de plugins para WordPress que realizo yo mismo. Concretamente, hablaré de un plugin concreto que he modificado recientemente, el demon-image-annotation-sigma.



  Demon-image-annotation-sigma


    Primero, los créditos sobre el plugin (Hay que reconocer el trabajo de los demás).

Plugin original: página de WordPress Plugins para demon-image-annotation.
Creador: DemonlsBlack.
Modificación: página de Mimic-Project para Demon Image Annotation Sigma.



  Las modificaciones realizadas


    El objeto de modificar el plugin no ha sido cambiarlo para hacer nada nuevo, si no únicamente compatibilizarlo con mis propias necesidades. Estos son los cambios que he realizado, partiendo del plugin demon-image-annotation-sigma.

    1º, Actualización: El plugin es perfectamente compatible con las últimas versiones de jQuery y además estas solventan algunos warning. Por lo que este es el primer cambio.
Archivo: imageannotation.php
Línea 17. Cambiar a: wp_register_script('jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js');
Línea 21. Cambiar a: wp_register_script('jquery-ui', '//code.jquery.com/ui/1.10.4/jquery-ui.min.js');

    2º, Algunos fixes, sobre todo para compatibilidad con temas un poco "tocanarices".
Archivo: css/annotation.css
Línea: 149. Agregamos una línea antes del cierre de la llave con el texto: z-index: 2;

    3º, Compatibilización con WordPress MultiSite.
Archivo: imageannotation-run.php
Línea: 33 y 155. Encontramos: $table_name = $wpdb->prefix . "demon_imagenote";
Agregamos en la siguiente línea tras estas: $table_comment = $wpdb->prefix . "comments";
Después, realizamos un reemplazar en el fichero, donde buscamos: wp_comments y lo cambiamos por ".$table_comment." (Comillas incluidas).

    En principio tras estos cambios tendremos un plugin más funcional y compatible con WPMU. No obstante, debo decir que estos cambios se los he enviado al programador actual del plugin por si los desea incluir en el mainstream, por lo que podría ser que si bajais el plugin de su página los tenga ya aplicados. La idea es que todo el mundo pueda disfrutar de ellos.



  Llegando un poco más lejos


    Fruto de una nueva necesidad, doy otro código de modificación para el plugin demon-image-annotation-sigma, la cual, tiene como objeto, permitir ocultar la persona que ha escrito el comentario.

    1º, Vamos a la parte sencilla, hacer que se oculte el texto en caso necesario.
Archivo: imageannotation-run.php (Justo antes de los JSON, agregamos una línea nueva).
Línea 186. Nueva línea: if( (get_option('demon_image_annotation_poster') == '1') ) $author = '';
Línea 208. Nueva línea: if( (get_option('demon_image_annotation_poster') == '1') ) $author = '';

    2º, Esta es la parte complicada, relativamente hablando. Vamos a "crear" una nueva opción de configuración para el plugin.
Archivo: imageannotation-admin.php
Línea: 408 (Tras el bloque thumbnail): Agregamos otro bloque que contendrá:
//image note poster
$dia_poster = $_POST['dia_poster'];
update_option('demon_image_annotation_poster', $dia_poster);

Línea 437. Nueva línea: $dia_poster = get_option('demon_image_annotation_poster');
Línea: 474 (Tras el bloque de plugin status): Agregamos otro bloque que contendrá:
<tr>
<th>
<label><?php _e("show username poster : " ); ?></label>
</th>
<td>
<?php
$sndisplaymode = array( 0 => __( 'Enable' ), 1 => __( 'Disable' ) );
foreach ( $sndisplaymode as $key => $value) {
$selected = $dia_poster == $key ? 'checked="checked"' : '';
echo "<label><input type='radio' name='dia_poster' value='" . esc_attr($key) . "' $selected/> $value</label>";
} ?>
<br />
<em>Enable or disable to show poster in image note. Note: If you set this option to disable, they hides also the avatar.</em>
</td>
</tr>



    Tras estos cambios, tendremos una nueva opción en el panel de administrador, para ocultar el usuario que envía la anotación. Como nota a tener en cuenta, tal como está hecho, si se oculta el usuario, también se ocultará el avatar.



  Guía de uso del plugin


    Esto lo haré en un futuro próximo.



Última actualización: 01 de Enero del 1970.