在定制器中获取WordPress页面ID

时间:2016-06-25 作者:Self Designs

我正在尝试更多地使用WordPress自定义程序。我需要找到一种方法来获取用户在窗口中查看的页面ID。我想知道这是否可以在定制器中实现?

另一个问题是,是否可以使用循环为每个页面创建设置?

我试图让用户上传一个图像到定制器中,用作横幅。因此,我希望能够获得页面id,以便为每个页面唯一地创建一个设置,然后在我的主题中抓取图像(如果存在)。我知道定制师越来越先进,但我做了一些挖掘,什么也找不到。

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

我想您正在处理ajax调用。在主题内,在右侧框架中,循环内的所有默认WP函数都起作用。但是,如果您在定制器中获得帖子,则可以使用ajax调用并从URL获取id。

源示例JavaScript

add_action( \'wp_ajax_fb_custom\', \'fb_customizer_ajax\' );
function fb_customizer_ajax() {

    if ( ! wp_verify_nonce( $_POST[ \'ajaxnonce\' ], \'fb_customize_ajax_nonce\' ) ) {
        die( -1 );
    }

    $current_url = $_POST[ \'current_url\' ];
    $current_id  = url_to_postid( $current_url );
    echo $current_id . \'<br>\' . $current_url;
    die();
}
PHP中应该可以实现同样的功能。使用函数的帮助url_to_postid(), 此返回值是url的帖子ID。url位于全局_GET, 喜欢$_GET[\'url\'].

相关推荐