Wordpress - 在functions.php中获取自定义帖子的帖子ID

时间:2016-02-23 05:49:06

标签: wordpress

我需要在functions.php中获取自定义帖子的ID。

我尝试了以下但没有一个正在运作:

$post_id = get_the_ID ()

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

global $wp_query;
$post_id = $wp_query->get_queried_object_id();

我正在做的是将带有jquery的数据发送到函数,我需要这里的id:

if ( isset( $_POST["tab_id"] ) ) {

$url = explode('?', 'http://'.$_SERVER["HTTP_HOST"] .     $_SERVER["REQUEST_URI"]);
$ID = url_to_postid($url[0]);

var_dump($ID);
$user_ID = get_current_user_id();
$project_id = $_POST['post_id'];
var_dump( $project_id );
$tab_id = $_POST['tab_id'];

//form processing code here

}

2 个答案:

答案 0 :(得分:1)

此时没有可用的帖子数据。如果你必须在这里获得帖子ID,你可以尝试从网址中提取它:

$url = explode('?', 'http://'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
$ID = url_to_postid($url[0]);

答案 1 :(得分:0)

你试图在ajax处理函数中获取它。那时,这些功能都无法在帖子类型或自定义帖子类型中构建。最简单的解决方案是将ID与您的ajax请求一起传递。

另一种解决方案是将url_to_postidwp_get_referer一起使用。您可以查看这些功能的文档herehere。我不会推荐这个。