Haken zum Laden von Posts und Seiten
-
-
öffentliche oder admin Seite/gegenüber?public or admin side/facing?
- 0
- 2012-10-16
- kaiser
-
Für das Frontend.Grundsätzlichmöchteich,dassesnur ausgelöst wird,wennein bestimmterbenutzerdefinierter Beitragstyp angezeigt wird.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 Antworten
- Stimmen
-
- 2012-10-16
Sie können den Hook
wp
verwenden und dasglobaleglobal $wp_query
-Objekt odereine beliebige Bedingung überprüfen.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 ) ); }
Siehe:
wp
in codex.wordpress.org undwp
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-
Kannst dumirbitte sagen,wann der 'wp'-Hook läuft?can you please tell me when does 'wp' hook run?
- 0
- 2012-10-16
- Poulomi Nag
-
A) Es läuft vor `after_setup_theme` und` setup_theme`,daheristesnurfür Plugins B)in` WP ::main () `zugänglich,die aus wp-settings.php aufgerufen werden.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 Wird der "wp" -Hooknichtnach dem "after_setup_theme" -Hook und direkt vor "template_redirect" ausgelöst,sodass "wp" sowohlfür Themen als auchfür Plugins zugänglichist?(nur um klarzustellen?)@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
Verwenden Sie
template_redirect
,den Aktions-Hook,der ausgelöst wirdvor dem Rendern der Vorlage;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 Kein Problem,ichbin froh,dass Sie Ihre Antwort obengefunden haben.Obwohlich denke,eine kleine Anmerkungist,dass `wp`nach dem` after_theme_setup`-Hook ausgeführt wird,so dassesnichtnurfür Plugins zugänglichist,was die Verwendungin Themes sichermacht.@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
-
Ich habegeradenachgesehen undja;`wp` läuftnach` after_theme_setup`.Aberichbraucheesfürmein Plugin.Alsofunktionieren sowohl "wp" als auch "template_redirect"gutfürmich.Ich wünschte,ich könnte hier zwei Antworten akzeptieren!:) :)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
-
Dasistin Ordnung,nichtnotwendig,umbeide zu akzeptieren,wolltenur die Reihenfolge klären,in der siefeuern.Stellen Sie sicher,dassichnicht verrückt werde,wissen Sie.Viel Glückmit deinem Plugin ...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
-
+1für Funktionsname Wortspiel+1 for function name pun
- 3
- 2020-02-28
- MJHd
-
- 2012-10-16
Ich habe Folgendes häufig verwendet,umbenutzerdefinierte Meta-Boxen auf Seiten (anstelle vonbenutzerdefinierten Posts) zu laden.
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'); } } }
-
Danke Darronz.Aberichbraucheeinen Haken,umbeim Ladeneiner Seite am Frontend zu arbeiten.Irgendwelche Ideen?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
-
Wenn Sie das obige `in add_action ('init',//etc) 'geändert haben,funktioniertesbeim Laden der Seite undnichtnurim Admin-Bereich.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 Und dannmusst du `überprüfen!is_admin () `inside,da der`init`-Hook aufbeiden Seiten läuft.@darronz And then you need to check `! is_admin()` inside, because the `init` hook runs on both sides.
- 2
- 2012-10-16
- kaiser
Ichmusseine Funktion ausführen,wennein bestimmter Beitrag odereine bestimmte Seitegeladen wird.Gibteseinen Hook,mit demich überprüfen kann,obbeim Ladeneiner Seiteein Beitrag angezeigt wird?