下面我有一个函数,可以打印父级的子页面。我正在尝试获取无序列表上方指定的父页标题作为h2。
我已经尝试更新title\\u li和最终返回的结果,但无法确定应该在其中添加什么。我可以在这些地方使用什么功能来获得所需的结果?谢谢
function childpages_shortcode_callback( $atts ) {
$atts = shortcode_atts( array(
\'parent\' => false,
), $atts, \'childpages\' );
$parent_id = false;
if ( $atts[\'parent\'] ) {
$parent = get_page_by_path( $atts[\'parent\'] );
if ( $parent ) {
$parent_id = $parent->ID;
}
} else { // if no parent passed, then show children of current page
$parent_id = get_the_ID();
}
$result = \'\';
if ( ! $parent_id ) { // don\'t waste time getting pages, if we couldn\'t get parent page
return $result;
}
$childpages = wp_list_pages( array(
\'sort_column\' => \'menu_order\',
\'title_li\' => \'\',
\'child_of\' => $parent_id,
\'echo\' => 0
) );
if ( $childpages ) {
$result =
\'<h2>\' . \'Parent title here\' . \'</h2>\' .
\'<ul>\' . $childpages . \'</ul>\';
}
return $result;
}
add_shortcode( \'childpages\', \'childpages_shortcode_callback\' );
最合适的回答,由SO网友:Qaisar Feroz 整理而成
使用get_the_title
替换代码的最后一部分
if ( $childpages ) {
$result =
\'<h2>\' . \'Parent title here\' . \'</h2>\' .
\'<ul>\' . $childpages . \'</ul>\';
}
使用
if ( $childpages ) {
$result =
\'<h2>\' . get_the_title( $parent_id ) . \'</h2>\' .
\'<ul>\' . $childpages . \'</ul>\';
}
This 也可能有帮助。