具有循环堆栈输出的快捷码

时间:2020-12-16 作者:Josh Rodgers

我找到了一些显示自定义帖子类型的短代码,但它并没有显示我所设想的方式。

最初,快捷码只添加了我自定义帖子类型中的标题,但我对其进行了修改,以同时显示内容。。。这是可行的,但它将内容分组在一起,然后将标题显示在一起。

我想它会显示标题1,内容1,然后是标题2,内容2

它所做的是把它们堆叠起来,内容1,内容2,然后是标题1,标题2

我的functions.php 看起来像:

add_shortcode( \'faqs\', \'faq\' );
function faq() {
    $query = new WP_Query(array(
        \'post_type\' => \'faqs\'
    ));
    while ($query->have_posts()) { 
        $query->the_post();
        $output = $output.\'<h2>\'.get_the_title().\'</h2>\';
        $output = $output.the_content();
    }
    wp_reset_postdata();
    return $output;
}
我觉得代码非常接近,我需要做什么改变才能让它显示出我的预期?

现场示例位于:http://joshrodg.com/rbtest/faq/

感谢您的帮助!

谢谢,乔希

1 个回复
最合适的回答,由SO网友:Josh Rodgers 整理而成

好啊因此,我找到了一个有帮助的例子:

function faq() {
    $output = \'\';
    $query = new WP_Query( \'post_type=faqs\' );
    if ( $query -> have_posts() ) :
        while ( $query -> have_posts() ) : $query -> the_post();
            $output .= \'<h3>\'.get_the_title().\'</h3>\';
            $output .= \'<p>\'.get_the_content().\'</p>\';
        endwhile;
    endif;
    wp_reset_postdata();
    return $output;
}
add_shortcode( \'faqs\', \'faq\' );
这会将所有内容按正确的顺序排列,并将标题标签包装在<h2> 标签。如果我做得不对,或者有人有更好的建议解决方案,请让我知道!

**对使用的轻微更正the_title();the_content();get_the_title();get_the_content(); 因为如果你不使用这些标签并尝试在它们周围放置标签,标签就会显示在文本下面。。。问题随着get_the_title();get_the_content();

谢谢,乔希