WordPress: complemento para incluir fragmentos de código en partes seleccionadas del diseño

4 minutos de lectura

avatar de usuario
Kobius

Tratando de encontrar alguna confirmación de cómo esto es posible dentro de los límites de un complemento sin éxito:

El objetivo es que un usuario use un complemento que insertaría un fragmento de código predefinido en una parte seleccionada del diseño. Un uso típico sería:

  • El usuario selecciona “Debajo del encabezado”
  • El código incluido aparece debajo del encabezado

  • El usuario selecciona “Arriba del pie de página”

  • El código incluido aparece arriba del pie de página

El fragmento de “código” sería algo así como un conjunto de enlaces o una imagen. Para que pudieran seleccionar de un menú desplegable, dónde debería aparecer en su sitio sin editar ningún código de tema.

Supongo que también sería útil proporcionar una etiqueta que los desarrolladores puedan pegar en algún lugar de su plantilla de tema para incluirla en algún lugar más complicado, algo como .

  • ¿Cuál es la pregunta? ¿Es posible?

    –Jim Maguire

    27 de enero de 2016 a las 15:42


avatar de usuario
jim maguire

En WordPress, puede modificar la salida del sistema en lugares particulares, utilizando ganchos de acción y filtros. Por ejemplo:

function putSomeTextInTheFooter() {
    echo '<p>This text is inserted at the bottom</p>';
}
add_action( 'wp_footer', 'putSomeTextInTheFooter' );

Este código PHP modificaría el pie de página agregando una acción personalizada [function], que WordPress activaría directamente en el evento llamado “wp_footer”, que se explica por sí mismo. Hay ganchos y filtros para todo tipo de cosas. WordPress tiene un rico conjunto de características para modificar casi todo. Este tipo de código puede ir en un tema o en un complemento. Consulta el códice aquí: https://codex.wordpress.org/Plugin_API/Action_Reference

  • Disculpas, volveré a redactar: ​​¿cómo sería posible insertar un fragmento de código en un tema, a través de los límites de un complemento? Ese es el objetivo, luchando por encontrar cualquier documentación clave que detalle cómo lograrlo.

    – Kobius

    27 de enero de 2016 a las 16:08


  • Creo que estás confundiendo tus términos. Todo un complemento y un tema son 100% ‘código’, son PHP. WordPress procesa el PHP incluido en el tema activo y todos los complementos activados.

    –Jim Maguire

    27 de enero de 2016 a las 16:21

  • Creo que hay una falta de comunicación: el objetivo es crear un complemento orientado al usuario que le permita crear y personalizar algo como un feed de Facebook. Una vez que estén satisfechos con su apariencia, pueden seleccionar dónde aparecerá en su sitio desde un menú desplegable, con opciones como: Debajo del encabezado, Arriba del pie de página, Parte superior de la barra lateral, Parte inferior de la barra lateral; Facebook Feed aparecerá en el lugar correcto, sin tener que editar ningún código. ¿Eso tiene más sentido para lo que estoy tratando de lograr? Muchas gracias.

    – Kobius

    28 de enero de 2016 a las 1:46

  • ¡Gracias! Voy a construir algo ahora y probarlo, suponiendo que pueda obtener la opción guardada por un usuario haciendo algo como: if ($option[‘feed_position’] == “pie de página”) { … }

    – Kobius

    29 de enero de 2016 a las 5:22


  • Kobius, estás haciendo múltiples preguntas. Debe revisar los conceptos básicos de cómo funcionan los complementos y los temas. La principal diferencia entre un complemento y un tema es que solo puede tener un tema y puede activar varios complementos. Dado que generalmente solo puede tener un “aspecto”, los temas generalmente controlan la apariencia de un sitio de WordPress y los complementos tradicionalmente controlan la funcionalidad. Sin embargo, esto es solo una convención. Tanto en un complemento como en un tema, puede ejecutar cualquier código arbitrario. Cualquier cosa que pueda hacer en un tema, puede hacerlo en un complemento y viceversa.

    –Jim Maguire

    19 de febrero de 2017 a las 21:19

Escribe una función de shortcode en function.php

<?php 
     function test()
    {
      echo "I am test ";
    }

    add_shortcode("test_shortcode","test"); ?>

Ahora puedes agregar [test_shortcode] en cualquier parte de tu editor para obtener el resultado allí

O en la plantilla puedes llamarlo con

<?php    echo  do_shortcode([test_shortcode]); ?>

Espero que esto te ayude a resolver tu problema.

Estás buscando registro_barra lateral función.

Puede crear un área de barra lateral con nombre con esta función y colocarle cualquier widget desde Apariencia -> Widgets (en wp-admin). En tus archivos de tema puedes llamar barra_lateral_dinámica en el lugar que desee, y todos los widgets aparecerán en este lugar.

  • Este sería un enfoque limitado, y es bueno, pero el OP parece estar haciendo una pregunta más amplia. Además, una barra lateral permitiría una funcionalidad adicional no solicitada en la pregunta.

    –Jim Maguire

    1 de febrero de 2016 a las 23:51


¿Ha sido útil esta solución?