10
votes

Plugin WordPress: Crochet sur URL personnalisée

Je veux faire un plugin, que je vais utiliser pour certains données de table JQuery Ajax.

J'ai une fonction qui imprime correctement les données, mais comment "crochet" dans une URL spécifique?

Comme dites, je veux que la fonction soit exécutée et que les données soient imprimées chaque fois qu'une demande de /mycustomtomtalin/myurl.php est exécutée? (Veuillez noter que l'URL / fichier ne doit pas exister)

Je n'ai aucune expérience avec les plugins WP.


0 commentaires

4 Réponses :


0
votes

Si vous vouliez retourner régulièrement des données WordPress, vous pouvez simplement inclure WP-blogheader.php dans votre fichier PHP personnalisé, tel que xxx

utilise des étiquettes de thème régulières pour renvoyer le contenu que vous désirez. Ceci

Où est-ce que vos données de table sont originaires? Essayez-vous d'afficher ces informations sur le côté administrateur ou du côté de la visionneuse?

Voir également pour une ventilation complète des fonctions accrochées avec WP_AJAX http://codex.wordpress.org/ajax_in_plugins


0 commentaires

2
votes

Un simple xxx

devrait fonctionner merveilles.


2 commentaires

Cela ne fonctionne que bien si vous ne souhaitez utiliser aucune fonctionnalité WordPress dans votre demande. Il serait exécuté avant init.


Vous avez négligé de spécifier où on pourrait mettre cette URL.



39
votes

Pour filtrer votre URL personnalisée Avant que WordPress ne commence à exécuter des requêtes pour d'autres choses utilisez quelque chose comme ceci:

add_action('parse_request', 'my_custom_url_handler');

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


5 commentaires

Pour une raison quelconque, cela ne fonctionne que dans le front-end, j'utiliserais probablement un crochet d'action différent, pas sûr de lequel un ( wp vs admin_init ).


Être totalement ignorant à propos de WordPress API, je devrai demander: où faut-il mettre ce code? J'aimerais utiliser cette méthode dans un plugin et je ne veux pas modifier les fichiers préexistants WP, mais uniquement les fichiers de mon plugin.


D'ACCORD. J'ai mis dans le fichier de mon bouchon (intérieur WP-Content \ plugins ) tel qu'il est, j'ai activé le plugin, mais cela ne fonctionne pas ... :( Je me demande pourquoi ...


@Noone Vous ne pouvez pas utiliser le plugin sans initialiser les codes avant de l'utiliser. Quoi qu'il en soit, vous pouvez mettre ce code sur votre theme fonction.php fichier. PS @zarazan que vous utilisez parse_request pour le faire exécuter avant le chemin de démarrage de WP de démarrer Pharsing URL chemin d'URL, etc. L'URL ne reçoit donc une page d'erreur WP 404.


L'idée est bonne, mais cette action ne fonctionne pas pour une raison quelconque. Je vais le chercher pour WP 5.7.



0
votes
add_action( 'init', 'my_url_handler' );

function my_url_handler() {
     if( isset( $_GET['unique_hidden_field'] ) ) {
          // process data here
     }
}
using add_action( 'init', 'your_handler') is the most common way in plugins since this action is fired after WordPress has finished loading, but before any headers are sent. Most of WP is loaded at this stage, and the user is authenticated.

0 commentaires