2010-12-06 16 views
6

Quiero hacer un plugin, que usaré para cierta carga de jQuery AJAX de datos de tabla.Plugin de Wordpress: enganche en la url personalizada

Tengo una función que imprime los datos correctamente, pero ¿cómo "engancho" en una url específica?

Como decir, quiero que se ejecute la función y que se impriman los datos cada vez que se ejecuta una solicitud a /mycustomplugin/myurl.php? (Tenga en cuenta que la url/archivo no debería existir)

No tengo experiencia con los plugins de WP.

Respuesta

0

Un simple

if ($_SERVER["REQUEST_URI"] == '/mycustomplugin/myurl.php') { 
    echo "<my ajax code>"; 
} 

deben trabajar maravillas.

0

Si quisiera devolver datos wordpress regulares sólo podría incluir wp-blogheader.php en su archivo PHP personalizado al igual que


//Include Wordpress 
define('WP_USE_THEMES', false); 
require('Your_Word_Press_Directory/wp-blog-header.php'); 
query_posts('showposts=10&cat=2'); 

Sólo tiene que utilizar etiquetas tematización regulares para devolver el contenido que desea.

¿De dónde vienen los datos de su tabla? ¿Estás tratando de mostrar esta información en el lado de administración o del lado del espectador?

Véase también Para un desglose completo de llamar a las funciones de gancho con wp_ajax http://codex.wordpress.org/AJAX_in_Plugins

19

Para filtrar su URL personalizado antes de Wordpress se inicia la ejecución de consultas de otras cosas, usar algo como esto:

add_action('parse_request', 'my_custom_url_handler'); 

function my_custom_url_handler() { 
    if($_SERVER["REQUEST_URI"] == '/custom_url') { 
     echo "<h1>TEST</h1>"; 
     exit(); 
    } 
} 
+0

Por alguna razón esto sólo funciona en el front-end, probablemente haría uso de un gancho de acción diferente, no estoy seguro de cuál ('wp' vs' admin_init'). –

+0

Siendo totalmente ignorante sobre la API de WordPress, tendré que preguntar: ¿Dónde debería uno poner este código? Me gustaría usar este método en un complemento y no quiero editar archivos preexistentes de WP, sino solo los archivos de mi complemento. – NoOne

+0

OK. He incluido el archivo de mi pluging (dentro de 'wp-content \ plugins') tal como está, activé el plugin, pero no funciona ... :(Me pregunto por qué ... – NoOne

Cuestiones relacionadas