Get post or page id early

时间:2015-05-08 作者:Grandy

是否有一个很好的解决方案可以很早获得查询的对象id。。。我是说真的很早?

我在after\\u setup\\u主题上有一个钩子,我需要在那里获取帖子或页面id。

$wp\\u query->queryed\\u object\\u id在该点为空。

我一直这样做到现在:

function getID() {

    $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    $theID = url_to_postid($actual_link);
    if($theID == 0) $theID = get_option(\'page_on_front\');

    return $theID;

}
问题是,安装了WPML后,正在运行一些重写,这似乎会干扰此解决方案的原因示例。com/foo转换为示例。com/en/foo

有什么建议吗?

1 个回复
SO网友:Grandy

对于mee,template\\u重定向挂钩似乎起到了作用。多亏了彼得·古森。

以下是一个适用于早期挂钩的解决方案:

function gdymc_object_exists( $object_id ) {

    return ( get_the_title( $object_id ) ) ? true : false;

}

function gdymc_objectID() {


    if( is_numeric( $_GET[\'page_id\'] ) ):

        $object_id = $_GET[\'page_id\'];

    elseif( is_numeric( $_GET[\'p\'] ) ):

        $object_id = $_GET[\'p\'];

    elseif( is_numeric( get_option( \'page_on_front\' ) ) ):

        $object_id = get_option( \'page_on_front\' );

    else:

        $object_id = 0;

    endif;


    return gdymc_object_exists( $object_id) ? $object_id : false;


}

结束

相关推荐

GET_POST_THMBIAN_ID/SET_POST_THMBILING不起作用

我有一个名为bookname的字段,根据我试图检查posttype = books 当书名匹配时,出于某种原因拉出标识get_post_thumbnail_id 即使图像存在,也不会拉出其id,因此不会设置图像。$importbookname = get_field( \'bookname\' ); $allbookposts = get_posts( array( \'post_type\' => \'books\', \'numberpost