Un utilisateur a demandé 👇

J’utilise un autre plugin, User Access Manager. UAM ajoute une fonction de filtre au hook the_posts. Ce crochet fournit une liste de diffusion en tant que paramètre, défini comme un tableau : https://developer.wordpress.org/reference/hooks/the_posts/. D’une manière ou d’une autre, lorsque cette fonction est donnée lors de l’utilisation du plug-in CloudSearch, il existe une liste de messages NULL.

Lorsque vous utilisez le plug-in CloudSearch, le acs_plugin_disable_search_wp_query fonction de la posts_request crochet. Il est acs_plugin_disable_search_wp_query la fonction renvoie falsemais the_posts l’action est toujours encouragée, même si $posts il est null car aucune recherche (sql) n’a été réellement effectuée.

Une idée de comment résoudre ce problème?

une idée, je cloud-search-hooks.php:

function acs_plugin_the_posts( $posts, $query ) {
    if ( is_null( $posts ) ) {
        $posts = array();
        return $posts;
    }
}
add_filter( 'the_posts', 'acs_plugin_the_posts', 9, 2);

9 doit être une priorité à exécuter avant le lien UAM. Je ne sais pas si cela a des effets secondaires indésirables ailleurs, et il semble une bonne pratique courante de définir la priorité du filtre sur 10. Je suis également très nouveau sur WordPress.

Une meilleure solution semble être de désactiver plus complètement la recherche par défaut de WordPress : pourquoi the_posts Une action inspirée du crochet en premier lieu ?


(@lando1982)

il y a 2 ans, 6 mois

Salut Amy,

Je ne suis pas sûr d’avoir bien compris ton problème. Avez-vous obtenu NULL après “acs_plugin_disable_search_wp_query” et cela cause-t-il des problèmes ailleurs dans votre code/site ? Merci de me donner plus de détails. Je pense que nous avons plusieurs solutions possibles. Adieu


(@amywieliczka)

il y a 2 ans, 6 mois

Bonjour Andrea

Oui, le plugin CloudSearch semble désactiver la recherche sql WordPress avec le acs_plugin_disable_search_wp_query fonction renvoyant faux. Cela ne semble pas empêcher WordPress d’effectuer une requête SQL, mais cela ne semble pas empêcher WordPress de graver les autres crochets d’activité liés à la recherche. Par conséquent, cela crée un conflit de plug-in avec une autre partie de notre base de code.

Un de ces crochets a fini par être tiré, the_postsauquel une fonction est attachée dans un autre plugin : attach_filter('the_posts', 'user_access_manager_plugin_function', 10, 2)Californie user_access_manager_plugin_fuction a une signature fonctionnelle : function user_access_manager_plugin_function( $posts, $query ). Il est user_access_manager_plugin_function souhaitant $posts à modifier, comme spécifié ici : https://developer.wordpress.org/reference/hooks/the_posts/.

Ce hook est fourni pour que les plugins puissent filtrer une liste de publications renvoyées par la recherche. Le plugin fournit une fonctionnalité pour filtrer les publications en fonction des restrictions d’accès. Dans notre cas particulier, rien n’est indexé pour CloudSearch avec des restrictions d’accès, donc je suis particulièrement préoccupé par l’utilisation de cette fonctionnalité et j’aime éviter complètement la recherche WordPress typique. Cependant, une fausse recherche n’empêche pas complètement une recherche WordPress – les crochets d’activité de recherche restants sont donnés, mais un message est $NULL$.

J’ai essayé de trouver un moyen de contourner complètement la recherche WordPress, y compris les crochets respectifs, mais je n’ai pas pu le comprendre. La solution suivante qui m’est venue à l’esprit était d’attacher un filtre à l’intérieur du plugin CloudSearch : attach_filter('the posts', 'acs_plugin_the_posts', 9, 2)comme décrit ci-dessus.

Cette réponse a été modifiée il y a 2 ans et 6 mois. Cette réponse a été modifiée il y a 2 ans et 6 mois.


(@lando1982)

il y a 2 ans, 6 mois

Salut Amy,

votre idée d’ajouter le filtre ‘acs_plugin_the_posts’ semble fonctionner… Je travaille sur une mise à jour du plugin, j’inclurai votre filtre dans le prochain numéro… Je vous ferai savoir quand il sera prêt Merci le louer!

Adieu


(@lando1982)

il y a 2 ans, 6 mois

Salut Amy,

J’ai publié une nouvelle version (1.8.0) du plugin avec votre filtre… faites-moi savoir si cela fonctionne… 😉


(@amywieliczka)

il y a 2 ans, 6 mois

Merci Andréa !


(@lando1982)

il y a 2 ans, 5 mois

Merci Amy!

Cela a-t-il résolu votre problème ?

Was this helpful?

0 / 0

Leave a Reply 0

Your email address will not be published. Required fields are marked *