以短代码显示子页面的标题

时间:2014-11-20 作者:Jeroen Bellemans

我很难弄清楚如何将子页面的标题显示为div的id“其他新闻”是父页面主页(39)的同级

我想要这样的东西:

<div class="wrapper" id="news">
content
</div>
<div class="wrapper" id="othernews">
content
</div>
这是我的短代码函数:

function content_block( $atts, $content = null ){

extract( shortcode_atts( array(
    \'type\'          =>      \'white\'

), $atts));

$childArgs = array(
    \'post_type\'         =>      \'page\',
    \'parent_page\'       =>      39
);

$child = new WP_Query($childArgs);

if ($child->have_posts()) {

    while ($child->have_posts()) {

        $child->the_post();

        if ($type == \'white\') {
            $return .= \'<div class="col-white">\';
                $return .= \'<div class="wrap" id="\'. get_the_title() .\'">\';
                    $return .= do_shortcode($content);
                $return .= \'</div>\';
            $return .= \'</div>\';

        } else
        if ($type == \'grey\') {
            $return .= \'<div class="col-grey">\';
                $return .= \'<div class="wrap" id="\'. get_the_title() .\'">\';
                    $return .= do_shortcode($content);
                $return .= \'</div>\';
            $return .= \'</div>\';
        }

        wp_reset_query();
        return $return;
    }
}

}

1 个回复
SO网友:pwbred

我建议您提供关于确切问题的详细信息,以及示例代码的结果是什么?

另外,你似乎在说你想获得标题的页面是父母的兄弟姐妹,这就是主页,所以事实上,they are not children at all (也许是一部电视剧的有趣情节)。

在任何情况下,我建议使用slug(post\\u名称)代替ID标题:

$current_id = get_the_id();
$post = get_post($current_id);
$post->post_name;
使用标题可能会导致ID中出现空格,这可能会导致ID数组,而不仅仅是一个。

结束

相关推荐

OOP and WordPress shortcode

我试图通过这种方式添加一个短代码class MyPlugin { function __construct() { $this->make_shortcode(); } function ShowMsg($cls, $lst4) { $data = shortcode_atts(array(\'phn\' => \'\', \'msg\' => \'\'), $atts);