Hook per caricamento di post e pagine
-
-
latopubblico o amministratore/rivolto?public or admin side/facing?
- 0
- 2012-10-16
- kaiser
-
Perfront-end.Fondamentalmente voglio che si attivi solo quando viene visualizzato unparticolaretipo dipostpersonalizzato.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 risposta
- voti
-
- 2012-10-16
Puoi utilizzare l'hook
wp
e controllare l'oggettoglobal $wp_query
globale o qualsiasi condizionale.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 ) ); }
Vedi:
wp
in codex.wordpress.org ewp
in 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-
potete dirmi quando vieneeseguito l'hook "wp"?can you please tell me when does 'wp' hook run?
- 0
- 2012-10-16
- Poulomi Nag
-
A) Funzionaprima di `after_setup_theme`e` setup_theme`,quindi è accessibile soloperi plugin B) all'interno di `WP ::main ()`,che è chiamato da 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 L'hook `wp`non si attiva dopo l'hook` after_setup_theme`e subitoprima di `template_redirect`,rendendo quindi` wp` accessibile sia daitemi che daiplugin?(giustoper chiarire?)@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
Utilizza
template_redirect
che èilgancio di azione che si attivaprima dieseguireil rendering delmodello;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 Nessunproblema,sono contento chetu abbiatrovato latua risposta sopra.Anche sepenso che unapiccolanota sia che `wp` vieneeseguito dopo l'hook` after_theme_setup`,quindinon è accessibile solo daiplugin,rendendolo sicuro da usarenei temi.@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
-
Ho appena controllatoe sì;"wp" vieneeseguito dopo "after_theme_setup".Mane hobisognoperilmioplugin.Quindi `wp` così come`template_redirect`funzionanoentrambibene perme.Vorreipoter accettare due risposte qui!:)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
-
Vabene,non ènecessario accettarlientrambi,volevo solo chiarire l'ordinein cui sparano.Assicurati dinonimpazzire,sai.Buonafortuna coniltuoplugin ...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
-
+1perilnome dellafunzionegioco diparole+1 for function name pun
- 3
- 2020-02-28
- MJHd
-
- 2012-10-16
Ho usato abbastanza spesso quanto segueper caricarein metaboxpersonalizzati sullepagine (piuttosto chepostpersonalizzati).
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'); } } }
-
Grazie Darronz.Ma hobisogno di unpo 'di hookper lavorare sulfront-end duranteil caricamento di unapagina.Qualcheidea?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
-
Se haimodificatoilprecedente `in add_action ('init',//ecc)`,funzionerà al caricamento dellapagina anziché solonella sezione di amministrazione.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 Epoi devi controllare `!is_admin () `all'interno,perché l'hook`init` vieneeseguito suentrambii lati.@darronz And then you need to check `! is_admin()` inside, because the `init` hook runs on both sides.
- 2
- 2012-10-16
- kaiser
Hobisogno dieseguire unafunzione quando viene caricato unparticolare articolo opagina.C'è qualche hook chemi permette di controllare se unpost viene visualizzato duranteil caricamento dellapagina?