【发布时间】:2018-08-03 08:15:10
【问题描述】:
我已经为帖子创建了简码,现在我需要在帖子/页面中对帖子进行简码。示例我在 post1 中嵌入了 post2,当我访问 post1 时,我看到了 post2,但是当我在 page1 中嵌入 post1 时,我没有看到 post2
这是我目前写的代码。
<?php
function getPostShortcode( $atts, $content = '' ) {
extract( shortcode_atts( array(
'id' => '',
'title' => ''
), $atts, 'post_shortcode' ) );
if ( empty( $atts['id'] ) )
return;
$loop = new WP_Query( array(
'post_type' => 'post',
'p' => $atts['id']
) );
ob_start();
if ( $loop->have_posts() ) {
while ( $loop->have_posts() ) : $loop->the_post();
$desc = ! empty( $atts['desc'] ) ? $atts['desc'] : get_the_content();
?>
<div class="post-single-shortcode-aka">
<h2><a href="#"><?php echo $title; ?></a></h2>
<p><?php echo $desc; ?></p>
</div>
<?php
endwhile;
wp_reset_postdata();
}
return ob_get_clean();
}
add_shortcode( 'post_shortcode', 'getPostShortcode' );
?>
【问题讨论】:
-
难以理解,您是否测试过在您的 WP 查询之前添加
global $post;。然后请在末尾添加wp_reset_query。 -
我试过了,没用,你
-
你是说在'page 1'中嵌入'post 1'而不显示'post 1'(因为在你的问题中你说的是'post 2'没有显示)?
-
您有两篇文章和一页,当我将 post2 的简码放在 post1 中,然后当我将 post1 的简码放在 page1 中时,我看不到 post2,我说的是简码在更多范围内不起作用然后 2 层...
-
是清楚地显示简码 ( [post_shortcode id=post2] ) 还是什么都没有?