Ottieni il contenuto del post dall'esterno del ciclo
-
-
Non conosci l'ID?Usa `get_queried_object_id ()`!https://developer.wordpress.org/reference/classes/wp_query/get_queried_object_id/Don't know the ID? Make use of `get_queried_object_id()` ! https://developer.wordpress.org/reference/classes/wp_query/get_queried_object_id/
- 0
- 2016-04-12
- jave.web
-
10 risposta
- voti
-
- 2012-05-10
Puoi utilizzare
get_page()
per restituireil$post
oggetto di unapagina statica:$page_id = 302; $page_object = get_page( $page_id ); echo $page_object->post_content;
Modifica
Allo stessomodo,puoi utilizzare
get_post()
per restituireil$post
oggetto di unpost:$post_id = 302; $post_object = get_post( $post_id ); echo $post_object->post_content;
You can use
get_page()
to return the$post
object of a static page:$page_id = 302; $page_object = get_page( $page_id ); echo $page_object->post_content;
Edit
Similarly, you can use
get_post()
to return the$post
object of a post:$post_id = 302; $post_object = get_post( $post_id ); echo $post_object->post_content;
-
Gli shortcodefunzionano ancora quando lo si utilizza?Do shortcodes still work when using this?
- 0
- 2014-02-20
- Tim Baas
-
Ho appena scoperto dino.Usa `setup_postdata ($post);`prima,dopodichépuoi usare `the_content ();`Just found out it doesn't. Use `setup_postdata( $post );` first, after that, you can use `the_content();`
- 0
- 2014-02-20
- Tim Baas
-
Potresti semplicementeeseguire `apply_filters ('the_content',$post_object->post_content);`You could just run `apply_filters( 'the_content', $post_object->post_content );`
- 5
- 2017-03-01
- Nathan Powell
-
- 2014-09-14
per ottenereil contenuto delpostfuori dal ciclopuoi scrivere qualcosa di simile
global $post; $content = $post->post_content; if ( !empty( $content ) ) : echo $content; endif;
to get the content of the post outside the loop you can write something like this
global $post; $content = $post->post_content; if ( !empty( $content ) ) : echo $content; endif;
-
- 2014-03-23
Sei tuoi contenutiincludono codicibrevi,dovresti utilizzare:
$post_id = 22; $post_object = get_post( $post_id ); echo do_shortcode( $post_object->post_content );
If your content include shortcodes, you should use:
$post_id = 22; $post_object = get_post( $post_id ); echo do_shortcode( $post_object->post_content );
-
Nonfare shortcode https://kovshenin.com/2013/dont-do_shortcode/Don't do shortcode https://kovshenin.com/2013/dont-do_shortcode/
- 0
- 2015-06-24
- Brad Dalton
-
Quellapaginanonfornisce unmotivo validoperevitare "do_shortcode" oltre a dire "Potrebbeessere lento"e "Puoi semplicemente usare lafunzione chiamata dal codicebreve".Queste ragioni valgono solopergli scenaripiùbanaliper quellipiù semplici.Non riesce quando lo shortcode vienegenerato da qualche altraparte o se sonopresentipiù shortcode o shortcodemescolati con altri contenutie markup.Senza una ragione convincente,non sarei d'accordo con l'affermazione dievitare "do_shortcode".Questo odora di [ottimizzazioneprematura] (http://ubiquity.acm.org/article.cfm?id=1513451).That page doesn't provide a compelling reason to avoid `do_shortcode` other than saying, "It might be slow" and "You can just use the function that the short code calls." Those reasons are only valid for the most trivial for the most simple scenarios. It fails when the shortcode is generated somewhere else, or if there are multiple shortcodes, or shortcodes mixed in with other content and markup. Without a compelling reason, I would disagree with the statement to avoid `do_shortcode`. This smells like [premature optimization](http://ubiquity.acm.org/article.cfm?id=1513451).
- 1
- 2017-04-17
- Jeff
-
E aumenta anche l'accoppiamentotrailtuo codicee il codice dello shortcode originale.Seilmetodo di supporto dello shortcode viene rinominato o lafirma cambia,il codice siinterromperà.And it also increases the coupling between your code and the original shortcode's code. If the shortcode's backing method is ever renamed or the signature changes, your code will break.
- 0
- 2017-04-17
- Jeff
-
- 2014-05-23
Per completezza,basandosi sul commento di Tim soprae ispirato all ' articolo di Stephen Harris ,la soluzione che consente l'uso di
the_content()
è:$post_id = 302; global $post; $post = get_post($post_id); setup_postdata( $post ); the_content(); wp_reset_postdata( $post );
E quindi vengono applicatii filtri (verrannoinseritiparagrafi,ecc.)e gli shortcodefunzionano.
For completeness, building on Tim's comment above and inspired by Stephen Harris's article, the solution that enables use of
the_content()
is:$post_id = 302; global $post; $post = get_post($post_id); setup_postdata( $post ); the_content(); wp_reset_postdata( $post );
And hence filters get applied (paragraphs will be inserted etc.) and shortcodes work.
-
Questo ha quasibloccatoilmiobrowser:/togliere lae commerciale aiuta,manon sta ancora analizzandogli shortcode.This almost crashed my browser :/ taking out the ampersand helps, but it's still not parsing shortcodes.
- 0
- 2015-10-05
- Zade
-
- 2015-06-24
Dato che conosciiltuo IDpost di destinazione (302),potrestitrovare utile questa sintassi abbreviata chepuoi usarefuori dal ciclo (sebbene le sueprestazioni sianopraticamente le stesse di qualsiasi altrometodo alternativo :)
echo(get_post_field('post_content',302));
Since you know your target post ID (302), you may find useful this shorthand syntax that you can use out of the loop (though its performance is pretty much the same as in any other alternative method:)
echo(get_post_field('post_content',302));
-
- 2016-02-08
Puoi usare lafunzione
get_post_data()
per ottenerepostfuori dal ciclo.Inserisci questo codicein functions.phpfunction get_post_data($postId) { global $wpdb; return $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID=$postId"); }
e quindi aggiungi questoframmentoper unmaggiore controllo sulprocesso
<?php $data = get_post_data(302); echo $data->post_date; // post date echo $data->post_title; // post title echo $data->post_content; // post content echo $data->comment_count; // comments number ?>
You can use the
get_post_data()
function to get post outside the loop. Place this code in functions.phpfunction get_post_data($postId) { global $wpdb; return $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID=$postId"); }
and then add this snippet for more control on the process
<?php $data = get_post_data(302); echo $data->post_date; // post date echo $data->post_title; // post title echo $data->post_content; // post content echo $data->comment_count; // comments number ?>
-
- 2017-03-01
Puoi usare,come detto,la soluzione con
get_post
e$post_object->post_content
,manon dimenticare di aggiungere un segno di spuntaprima di utilizzare quelpostoggetto:function get_post_content( $post_id = null ) { $post_object = get_post( $post_id ); if ( ! $post_object ) { return ''; } //else return apply_filters('the_content', $post_object->post_content); } echo get_post_content( $other_post_id );
You can use, as said, the solution with
get_post
and$post_object->post_content
, but don't forget to add a check before you use that post object:function get_post_content( $post_id = null ) { $post_object = get_post( $post_id ); if ( ! $post_object ) { return ''; } //else return apply_filters('the_content', $post_object->post_content); } echo get_post_content( $other_post_id );
-
- 2016-04-20
Puoi semplicemente chiamareget_the_content (postId)
<?php echo get_the_content($postId); ?>
You can simply call get_the_content(postId)
<?php echo get_the_content($postId); ?>
-
In realtà,non èpossibile.Primo argomento che c'èperil contenuto quando c'è un altro collegamento: https://codex.wordpress.org/Function_Reference/get_the_contentActually, that's not possible. First arg there is for the content when there is a more link: https://codex.wordpress.org/Function_Reference/get_the_content
- 2
- 2017-08-24
- joshcanhelp
-
- 2015-04-04
usa
wp_reset_postdata();
funzionerà .. (modificato)<?php $args = array( 'post_type' => 'posttype', 'p' => 'post_id' ); $the_query = new WP_Query( $args ); if( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <?php the_content(); ?> <?php endwhile; endif; wp_reset_postdata(); ?>
posttypepuòessere "post","page" oiltipo dipostpersonalizzato.Quip=302 èiltuopostid .. Spero chefunzioni.
use
wp_reset_postdata();
it will work.. (edited)<?php $args = array( 'post_type' => 'posttype', 'p' => 'post_id' ); $the_query = new WP_Query( $args ); if( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <?php the_content(); ?> <?php endwhile; endif; wp_reset_postdata(); ?>
posttype can be "post" , "page" or your custom post type. Here p=302 is your post id.. Hope it will work.
-
Non usaremai "query_posts" ameno chenon sianecessariointerrompere lefunzionalità dellapagina.Usa sempre `WP_Query` o`get_posts`per le querypersonalizzate :-)Never use `query_posts` unless you need to break page functionalities. Always use `WP_Query` or `get_posts` for custom queries :-)
- 2
- 2015-04-04
- Pieter Goosen
-
si .. hai ragione .. Può anche Wp_Query .. stesso risultatotrovato ..yes.. you are right.. It can Wp_Query as well.. same result found..
- 0
- 2015-04-05
- Jahirul Islam Mamun
-
C'è ancheilfiltro `pre_get_posts`e`the_post`.Cosìtanti dettagli.There is also the `pre_get_posts` filter, and `the_post`. So much detail.
- 0
- 2017-03-01
- Nathan Powell
-
- 2012-05-10
puoimettereil contenutoin una categoria Xe utilizzare query_postprimamentrein questomodo:
<?php query_posts('cat=X&showposts=1'); ?> <?php while (have_posts()) : the_post(); ?> <?= get_the_content(); ?> <?php endwhile; ?>
you can put content in a category X and use query_post before while like this :
<?php query_posts('cat=X&showposts=1'); ?> <?php while (have_posts()) : the_post(); ?> <?= get_the_content(); ?> <?php endwhile; ?>
C'è unmodoper ottenereil contenuto da un altro al difuori del ciclo?L'ID è 302e hobisogno di visualizzarneil contenuto su un'altrapagina.