如何在WordPress定制器文件中获取当前页面ID?

时间:2018-12-05 作者:Alex E.

我试图根据查看的页面隐藏或显示自定义设置,类似于active_callback\' => \'is_front_page\', 但是,我还没有找到从customizer.php 文件我希望能够使用active_callback\' => \'is_specific_page\' 通过基于当前页面ID的自定义回调,如下所示:


    function is_specific_page() {

        // LOGIC RETURNS TRUE OR FALSE DEPENDING ON CURRENT PAGE

    }    

我尝试过使用以下所有方法,但均无效:

global $post; $post->ID();

global $wp_query; $post_id = $wp_query->post->ID;

get_the_ID();

感谢您的帮助!

1 个回复
SO网友:Krzysiek Dróżdż

谢谢你的提问。

active_callback 这正是你要找的。您可以将其与控件一起使用:

$wp_customizer->add_control(
    \'setting_name\',
    array(
        \'type\' => \'text\',
        \'section\' => \'section_name\',
        \'label\' => \'Option with context\',
        \'active_callback\' => \'is_front_page\'
    )
);
和部分:

$wp_customize->add_section(
    \'section-name\',
    array(                                             
        \'title\' => \'Section with context\',
        \'active_callback\' => \'is_front_page\'
     )
);
在上面的示例中,由于使用了native,此新设置/部分将仅在首页可见is_front_page 作用您也可以使用其他Conditional Tags.

当然,你可以根据自己的情况:

function mytheme_is_contact_page() {
    return is_page_template( \'template-contact.php\' );
}

function mytheme_is_page_id_123() {
    return is_page( 123 );
}

相关推荐

如何在WordPress unctions.php中将短代码值传递到Head

我正在尝试为wordpress帖子上的图表创建一个快捷代码。到目前为止,我已经使用了短代码,我可以看到短代码值正在被传递,但我需要知道的是如何将这些值传递到Google图表,以便正确工作。以下是我目前掌握的代码:function chart_shortcode($atts) { $a = shortcode_atts( array( \'value1\' => \'\', \'value2\' => \'\', \'value