目前正在一個項目,我想通過短代碼顯示員工的名片,例如[person id="1"]
或[person name="bob"]
。WordPress的PHP短代碼,通過ID的get_the_content將不會顯示自定義帖子類型的內容
我爲員工創建了一個單獨的職位類型,其中title = name,content =聯繫信息和thumbnail = image。
問題是標題和縮略圖顯示正確的員工數據,但get_the_content($post_id)
顯示我的第一篇文章「歡迎來到......這是您的第一篇文章......」的內容。
function display_person($atts, $content){
extract(shortcode_atts(array(
'posts_per_page' => '1',
'post_type' => 'person',
'post_id' => null,
'caller_get_posts' => 1)
, $atts));
global $post;
$posts = new WP_Query($atts);
$output = '';
if ($posts->have_posts())
while ($posts->have_posts()):
$posts->the_post();
$out = '<div class="col-lg-6 col-md-12 col-sm-12 col-xs-12">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 person-container margin-top">
<div class="col-lg-6 col-md-6 col-sm-6 hidden-xs person-thumbnail no-padding">
'.get_the_post_thumbnail($post_id, 'thumbnail-person').'
</div>
<div class="hidden-lg hidden-md hidden-sm col-xs-4 person-thumbnail no-padding">
'.get_the_post_thumbnail($post_id, 'thumbnail-person-small').'
</div>
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-8 person no-padding">
<h3>'.get_the_title($post_id).'</h3>
'.get_the_content($post_id).'
</div>
</div>
</div>';
$out .='</div>';
endwhile;
else
return;
wp_reset_query();
return html_entity_decode($out);
}
add_shortcode('person', 'display_person');
如何獲得get_the_content($post_id)
以顯示自定義帖子內容?
['get_the_content()'](https://codex.wordpress.org/Function_Reference/get_the_content)不接受Post-ID作爲參數 –