Gancho para cargar publicaciones y páginas
-
-
público o lado de administración/cara?public or admin side/facing?
- 0
- 2012-10-16
- kaiser
-
Paraelfront-end.Básicamente,quiero que se active solo cuando semuestre untipo depublicaciónpersonalizadaen particular.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 respuestas
- votos
-
- 2012-10-16
Puede usarelgancho
wp
y verificarel objetoglobal $wp_query
o cualquier condicional.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 ) ); }
Consulte:
wp
en codex.wordpress.org ywp
en 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-
¿puede decirme cuándofuncionaelgancho 'wp'?can you please tell me when does 'wp' hook run?
- 0
- 2012-10-16
- Poulomi Nag
-
A) Seejecuta antes de `after_setup_theme` y` setup_theme`,por lo que soloes accesiblepara complementos B) dentro de `WP ::main ()`,que se llama desde 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 ¿No se activaelgancho `wp` después delgancho` after_setup_theme` yjusto antes de `template_redirect`,por lotanto,hace que` wp` sea accesibletantoportemas comopor complementos?(¿solopara aclarar?)@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
Utilice
template_redirect
,queeselgancho de acción que se activaantes de renderizar laplantilla;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 No hayproblema,me alegro de que hayasencontradotu respuesta arriba.Aunque creo que unapequeñanotaes que `wp` seejecuta después delgancho` after_theme_setup`,por lo queno solo sepuede acceder a élmediante complementos,lo que lo hace seguro de usaren temas.@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
-
Acabo de comprobar y sí;`wp` seejecuta después de` after_theme_setup`.Pero lonecesitoparami complemento.Así quetanto `wp` como`template_redirect`funcionanbien paramí.¡Ojalápudiera aceptar dos respuestas aquí!:)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
-
Estábien,noesnecesario aceptar ambos,solo quería aclararel ordenen el que disparan.Asegurándome deno volverme loco,sabes.Buena suerte contu complemento ...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
-
+1paraeljuego depalabras conelnombre de lafunción+1 for function name pun
- 3
- 2020-02-28
- MJHd
-
- 2012-10-16
Conbastantefrecuencia he usado lo siguientepara cargaren metaboxespersonalizadosen laspáginas (en lugar depublicacionespersonalizadas).
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'); } } }
-
Gracias Darronz.Peronecesito unganchoparatrabajaren laparte delantera durante la carga de unapágina.¿Algunasideas?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 cambió lo anterior `a add_action ('init',//etc)`entoncesfuncionaráen la carga de lapáginaen lugar de soloen la sección de administración.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 Y luego debes comprobar `!is_admin () `adentro,porqueelgancho`init` seejecutaen ambos lados.@darronz And then you need to check `! is_admin()` inside, because the `init` hook runs on both sides.
- 2
- 2012-10-16
- kaiser
Necesitoejecutar unafunción cuando se carga unapublicación opáginaen particular.¿Hay algúngancho queme permita comprobar si semuestra unapublicación durante la carga de lapágina?