用于显示子页面的快捷代码

时间:2015-03-05 作者:Sillo

我发现这个代码片段只显示子页面。

它工作得很好,完全符合我的意愿。我希望能够在站点周围放置这个,但我不能将PHP放置在富文本编辑器中。我想把它转换成短代码。

如何将其转换为短代码?

<?php
global $wp_query;
if( empty($wp_query->post->post_parent) ) {
$parent = $wp_query->post->ID;
} else {
$parent = $wp_query->post->post_parent;
} ?>
<?php if(wp_list_pages("title_li=&child_of=$parent&echo=0" )): ?>
<div>
<ul>
<?php wp_list_pages("title_li=&child_of=$parent" ); ?>
</ul>
</div>
<?php endif; ?>

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

把这个放在你的主题函数中。php,它将添加短代码[child_pages]:

function wpsc_child_pages($atts){
    global $wp_query;
    $html = \'\';
    if( empty($wp_query->post->post_parent) ) {
        $parent = $wp_query->post->ID;
    } else {
        $parent = $wp_query->post->post_parent;
    }
    $pages = wp_list_pages("title_li=&child_of=$parent&echo=0");
    if( $pages ){
        $html .= "<div><ul>$pages</ul></div>";
    }
    return $html;        
}

add_shortcode(\'child_pages\', \'wpsc_child_pages\');
如果要传递函数变量(例如。[child_pages parent=3]) 您可以使用传递的$atts 论点

结束

相关推荐

PHP error in shortcode

有人能帮我看看这段代码中的错误吗?我正试图通过我发现的短代码实现一个函数here:<?php if (function_exists(‘wooslider’)) echo do_shortcode(‘[wooslider slider_type=\"posts\" limit=\"3\" link_title=\"true\" layout=\"text-bottom\" overlay=\"full\" category=\"homepage-feature-post\"]‘); ?>&#x