web-dev-qa-db-fra.com

Pointeurs administratifs sur un type de publication personnalisé

Est-il possible de tirer parti du code des pointeurs administratifs (API principale, non publiée) pour créer des pointeurs sur un type de publication personnalisé? J'essayais d'utiliser un plugin appelé Easy Admin Pointers , mais il ne prend pas en charge les pointeurs sur un type de publication personnalisé et je ne trouve aucun exemple sur le Web qui fonctionnera avec un type de publication personnalisé. Des idées ou des conseils? Merci!

1
Stephen

Ok, j’ai trouvé une solution, et c’est en partie grâce à l’utilisateur kaiser ci-dessus. En utilisant un combo de cette fonction (pour trouver les informations sur chacune de mes pages), j'ai ensuite pu utiliser le code trouvé ici:

https://Gist.github.com/brasofilo/6947539

pour le rassembler et remplir les pointeurs de manière appropriée.

Voici tout mon processus:

FIRST: J'ai édité /wp-admin/post-new.php pour ajouter le code suivant juste après le "// Show post form". commentaire:

    $thisscreen = get_current_screen();
    var_dump($thisscreen);

Cela m'a donné les informations dont j'avais besoin sur ma nouvelle page de publication pour chaque type de publication personnalisée.

DEUXIÈME: Puis, en utilisant ces valeurs (à savoir "id" et "screen"), je les ai connectées à ce code github et le tour est joué. Maintenant, je peux obtenir des pointeurs d’administrateur qui sont limités à mes pages de publication personnalisées!

Merci encore à Kaiser ci-dessus, et espérons que cela aidera d'autres personnes ayant des problèmes similaires. Peut-être y a-t-il un moyen plus facile d'obtenir les identifiants et autres informations des pages en question sans modifier le code et effectuer un vidage de variables, je vais m'y intéresser.

UPDATE: UGH, c'est beaucoup plus simple que je ne le pensais auparavant. Vous n'avez pas besoin d'ajouter le code ci-dessus pour obtenir cette information (bien que ce soit intéressant), vous n'avez besoin que de "l'écran", ce qui peut être facilement déduit par l'URL du type de message personnalisé, à savoir:

post-new.php?post_type=dispatches

où "expédie" est votre pseudo. J'essaie toujours de trouver un moyen de limiter les pointeurs à l'écran d'édition ou au nouvel écran, mais je peux vivre avec cela ...

2ème MISE À JOUR: Possibilité de limiter au nouvel écran en utilisant la cible comme suit:

'target'   => '.post-new-php #insert-media-button',

3EME UPDATE (25/05/14): Après avoir utilisé ce code pendant un moment, et finalement construit un plugin basé partiellement sur celui-ci ( https://wordpress.org/plugins/better- admin-pointers/ ), je me suis rendu compte qu'il y avait une erreur dans le code Gist qui empêchait que plusieurs pointeurs soient rejetés correctement. Au lieu d’obtenir le bon élément, le code ne ferait que masquer le premier pointeur trouvé sur la page s’il en existait plusieurs. Pour corriger cela, j'ai changé ceci:

close: function() 
            {
                $.post( ajaxurl, 
                {
                    pointer: pointer.pointer_id,
                    action: 'dismiss-wp-pointer'
                });
            }

pour ça:

close: $.proxy(function () {
$.post(ajaxurl, this);
}, {
pointer: pointer.pointer_id,
action: 'dismiss-wp-pointer'
}),

Et maintenant, cela fonctionne comme prévu quand il y a plusieurs pointeurs sur une page.

1
Stephen