Crochet pour le chargement du message et de la page
-
-
côtépublic ou administratif/face?public or admin side/facing?
- 0
- 2012-10-16
- kaiser
-
Pourfrontal.Fondamentalement,je veux qu'il se déclenche uniquement lorsqu'un seultype depublicationpersonnaliséest affiché.For front end. Basically I want it to trigger only when a particular single custom post type is displayed.
- 0
- 2012-10-16
- Poulomi Nag
-
3 réponses
- votes
-
- 2012-10-16
Vouspouvez utiliser le hook
wp
et vérifier l'objetglobal $wp_query
outout autre conditionnel.add_action( 'wp', 'wpse69369_special_thingy' ); function wpse69369_special_thingy() { if ( 'special_cpt' === get_post_type() AND is_singular() ) return print "Yo World!"; return printf( '<p>Nothing to see here! Check the object!<br /></p><pre>%s</pre>', var_export( $GLOBALS['wp_query'], true ) ); }
Voir:
wp
dans codex.wordpress.org etwp
dans developer.wordpress.orgYou can use the
wp
hook and check theglobal $wp_query
object or any conditional.add_action( 'wp', 'wpse69369_special_thingy' ); function wpse69369_special_thingy() { if ( 'special_cpt' === get_post_type() AND is_singular() ) return print "Yo World!"; return printf( '<p>Nothing to see here! Check the object!<br /></p><pre>%s</pre>', var_export( $GLOBALS['wp_query'], true ) ); }
See:
wp
in codex.wordpress.org andwp
in developer.wordpress.org-
pouvez-vous s'il vousplaîtme dire quand le hook «wp»fonctionne-t-il?can you please tell me when does 'wp' hook run?
- 0
- 2012-10-16
- Poulomi Nag
-
A) Il s'exécute avant `after_setup_theme`et` setup_theme`,donciln'est accessible quepour lesplugins B) dans `WP ::main ()`,quiest appelé depuis wp-settings.php.A) It runs before `after_setup_theme` and `setup_theme`, so it's only accessible for plugins B) inside `WP :: main()`, which is called from within wp-settings.php.
- 0
- 2012-10-16
- kaiser
-
@kaiser Le hook `wp`ne se déclenche-t-ilpas après le hook` after_setup_theme`et juste avant `template_redirect`,rendant ainsi` wp` accessible aussibien parthèmes queparplugins?(justepour clarifier?)@kaiser Doesn't the `wp` hook fire after the `after_setup_theme` hook and right before `template_redirect` therefore making `wp` accessible by themes as well as plugins? (just to clarify?)
- 1
- 2012-10-17
- Adam
-
- 2012-10-16
Utilisez
template_redirect
quiest le hook d'action qui se déclencheavant de rendre lemodèle;add_action('template_redirect', 'hooker'); function hooker(){ //I load just before selecting and rendering the template to screen }
Use
template_redirect
which is the action hook that fires before rendering the template;add_action('template_redirect', 'hooker'); function hooker(){ //I load just before selecting and rendering the template to screen }
-
@PoulomiNag Pas deproblème,heureux que vous ayeztrouvé votre réponse ci-dessus.Bien queje pense qu'unepetite noteest que `wp`fonctionne après le hook` after_theme_setup`,donc cen'estpas seulement accessiblepar lesplugins,ce qui le rend sûr à utiliser dans lesthèmes.@PoulomiNag No problem, glad you found your answer above. Though I think one small note is that `wp` runs after the `after_theme_setup` hook, so its not just accessible by plugins, making it safe to use in themes.
- 0
- 2012-10-17
- Adam
-
Je viens de vérifieret oui;`wp` s'exécute après` after_theme_setup`.Maisj'en aibesoinpourmonplugin.Donc `wp` ainsi que`template_redirect`fonctionnenttous les deuxtrèsbien pourmoi.J'aimeraispouvoir accepter deux réponsesici!:)I just checked and yes ; `wp` runs after `after_theme_setup`. But I need it for my plugin. So `wp` as well as `template_redirect` both work fine for me. Wish I could accept two answers here! :)
- 0
- 2012-10-17
- Poulomi Nag
-
C'est correct,pasnécessaire d'accepter les deux,je voulaisjuste clarifier l'ordre dans lequelilstirent.S'assurer queje ne devienspasfouBonne chance avec votreplugin ...That's ok, not necessary to accept both, just wanted to clarify the order in which they fire. Making sure I'm not going crazy you know. Good luck with your plugin...
- 0
- 2012-10-17
- Adam
-
+1pour lenom de lafonctionjeu demots+1 for function name pun
- 3
- 2020-02-28
- MJHd
-
- 2012-10-16
J'ai souvent utilisé ce qui suitpour charger dans desméta-boîtespersonnalisées sur despages (plutôt que des articlespersonnalisés).
add_action('admin_init','how_we_do_it_meta'); function how_we_do_it_meta() { if ( $_SERVER['SCRIPT_NAME'] == '/wp-admin/post.php' ) { $post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID']; $template_file = get_post_meta($post_id,'_wp_page_template',TRUE); if ($template_file == 'page-how-we-do-it.php') { add_meta_box('how_we_do_it_who-meta', 'Who we work with...', 'how_we_do_it_who', 'page', 'normal', 'high'); add_action('save_post', 'save_how_we_do_it_meta'); } } }
I've quite often used the following to load in custom meta boxes on pages (rather than custom posts).
add_action('admin_init','how_we_do_it_meta'); function how_we_do_it_meta() { if ( $_SERVER['SCRIPT_NAME'] == '/wp-admin/post.php' ) { $post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID']; $template_file = get_post_meta($post_id,'_wp_page_template',TRUE); if ($template_file == 'page-how-we-do-it.php') { add_meta_box('how_we_do_it_who-meta', 'Who we work with...', 'how_we_do_it_who', 'page', 'normal', 'high'); add_action('save_post', 'save_how_we_do_it_meta'); } } }
-
Merci Darronz.Maisj'aibesoin d'un crochetpourfonctionner à l'avantpendant le chargement d'unepage.Desidées?Thanks Darronz. But I need some hook to work at the front end during a page load. Any ideas?
- 1
- 2012-10-16
- Poulomi Nag
-
Si vous avez changé ce quiprécède `en add_action ('init',//etc)` alors celafonctionnera sur le chargement de lapageplutôt que seulement dans la section admin.If you changed the above `to add_action('init', // etc)` then it'll work on the page load rather than only in the admin section.
- 0
- 2012-10-16
- darronz
-
@darronz Etpuis vous devez vérifier `!is_admin () `à l'intérieur,car le hook`init`fonctionne des deux côtés.@darronz And then you need to check `! is_admin()` inside, because the `init` hook runs on both sides.
- 2
- 2012-10-16
- kaiser
J'aibesoin d'exécuter unefonction lorsqu'un article ou unepageparticulièreest chargé.Y a-t-il un crochet quime permet de vérifier si unmessageest affichépendant le chargement de lapage?