¿Cómo hago un complemento de wordpress con un elemento de menú, etc.?

2

He estado leyendo documentos, viendo videos, etc. sobre cómo crear un complemento de Wordpress. Aprendí cómo filtrar una publicación, agregar txt a una publicación, usar condicionales para ver si la página es una única publicación para no mostrar texto en todo el sitio, etc.

La parte que no entiendo es cómo crear un complemento, con su propio elemento de menú que llevará al usuario a este complemento que estoy creando.

Digamos, por ejemplo, que mi complemento debe ser una página en blanco (con el encabezado de Wordpress, el pie de página, etc.) que simplemente muestra "¡Hola mundo!" - ¿Cómo creo este complemento muy simple, en su propia página (no se ve en todo el sitio) con su propio botón de menú que lleva al usuario a este complemento?

¿Creo una plantilla y un elemento de menú que enlaza con la plantilla? Estoy tan confundida... Encontré cómo 'Crear página' en la sección de administración, pero parece que solo crea un elemento de menú que corresponde a una página en blanco donde puedo agregar html.

Parece que no puedo encontrar ningún ejemplo de complemento donde se haga esto, pero creo que sería relativamente fácil crear un complemento que tenga un elemento de menú para que los visitantes sepan cómo llegar al complemento.

Si quisiera crear un complemento simple para que los visitantes de mi WordPress puedan hacer clic en un elemento del menú llamado 'Carreras de bicicletas' y acceder a mi página de complementos donde puedan ver la salida de mi complemento, una lista de carreras de bicicletas en este caso, ¿cómo lograría esto? ¿Creo un complemento simple o también creo una plantilla?

Por favor, ayúdame a ubicar cualquier ejemplo de complemento posible donde se realice esto.

Gracias

    
pregunta user1000665 07.10.2012 - 22:52

2 respuestas

3

Si desea una página de inicio, deberá crear una con el código corto de su complemento como contenido. Luego muestra la salida de su complemento en lugar de ese código abreviado:

/*
Plugin Name: WPSE67438 Page plugin
*/
class wpse67438_plugin {
    const PAGE_TITLE = 'WPSE67438'; //set the page title here.
    const SHORTCODE = 'WPSE67438'; //set custom shortcode here.

   function __construct() {
        register_activation_hook( __FILE__, array( $this, 'install' ) );
        add_shortcode( self::SHORTCODE, array( $this, 'display' ) );
    }

public function install() {
    if( ! get_option( 'wpse67438_install' ) ) {
        wp_insert_post( array( 
                    'post_type' => 'page',
                    'post_title' => self::PAGE_TITLE,
                    'post_content' => '[' . self::SHORTCODE . ']',
                    'post_status' => 'publish',
                    'post_author' => 1
                    )
                );
        update_option( 'wpse67438_install', 1 );
    }
}

public function display( $content ) {
    $my_plugin_output = "Hello World!"; //replace with plugin's output
    return $content . $my_plugin_output;
  }
 }

 new wpse67438_plugin();
    
respondido por el Abdussamad 08.10.2012 - 02:56
1

necesitará al menos algunas opciones de complementos para permitir que los usuarios decidan cómo o dónde se accede a su página de complementos. algunos usuarios pueden usar wp_list_pages para mostrar un menú, otros pueden usar una instancia wp_nav_menu para habilitar la navegación, y en ese caso podrían tener múltiples menús registrados, y luego está la cuestión de dónde dentro de un menú lo querrían. esta respuesta contiene código para agregar automáticamente un elemento de menú a un menú de navegación, pero puede ser mejor simplemente proporcionar instrucciones para que el usuario agregue el elemento del menú de su complemento.

En cuanto a la "página" en sí, hay varias estrategias diferentes que he visto en varios complementos:

  1. tiene un código corto que los usuarios pueden insertar en una página para mostrar la salida de su complemento, como la respuesta de Abdussamad.
  2. otra versión de la anterior crea una página sobre la activación del complemento con el contenido como código abreviado. los usuarios tienen la opción de mover el shortcode a otra página, cambiar el nombre de la página, agregar contenido adicional, etc.
  3. haga que el usuario seleccione una página a través de una opción de administrador, y filter the_content en esa página para insertar su salida del plugin.
  4. use una regla de reescritura para crear una "página virtual", como esta respuesta . sin embargo, esto no se integraría bien con un tema, por lo que probablemente no cumpla con sus criterios.
respondido por el Milo 08.10.2012 - 05:12

Lea otras preguntas en las etiquetas