如何在我的函数中获取指定的父页面标题

时间:2019-03-30 作者:Jalapeno Jack

下面我有一个函数,可以打印父级的子页面。我正在尝试获取无序列表上方指定的父页标题作为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\' );

1 个回复
最合适的回答,由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 也可能有帮助。

相关推荐

Shortcode is not working

通过阅读教程,我创建了一个简单的快捷代码:<?php /* Plugin Name: GT NoTranslate Shortcode Description: Shortcode to wrap a span with the \"notranslate\" span around text. Version: 0.1 BETA Author: Andrew Truckle Author URI: http://www.trucklesoft.co.