检查在循环之外的自定义POST类型中是否存在POST ID

时间:2015-03-31 作者:Daniela Mondragon

如果帖子类型中存在id,如何在数据库中搜索?。我想搜索$id=123 在这样的后期类型“电影”中,这是正确的方式吗?

   $content = get_posts(\'post_type=movies&id=$id\');

    if ($content)
            echo "post id exist";

        else
            echo "post id doesn\'t exist";

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

您可以使用:

echo \'movie\' === get_post_type( 123 ) ? \'Yes\' : \'No\'; 
但是,如果需要在主题中多次检查,可以考虑定义自己的助手函数:

if( ! function_exists( \'is_movie\' ) )
{
    function is_movie( $mixed = null )
    {
        return \'movie\' === get_post_type( $mixed );
    }
}
$mixed 为空,\\WP_Post 对象或帖子ID。

因此,如果您想知道是否存在ID为的电影123:

echo is_movie( 123 ) ? \'Yes\' : \'No\';
或者只是is_move() 在循环中,检查当前的post ID。

如果您只需要检查ID123 存在,然后使用get_post().

例如:

echo is_null( get_post( 123 ) ) ? \'No\' : \'Yes\';

结束