检查数据库中的后置元字段

时间:2019-11-01 作者:DevSem

因此,我尝试使用metadata exists调用检查WordPress数据库,看看是否存在一些元数据。

出于某种原因,我不认为metadata_exists 在这种情况下,调用是正确的,但我想检查数据库,看看_octopus_id 存在。

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

您不需要设置新的WP\\U查询,因为您正在循环遍历八达通的数据。在你的情况下,我会做以下事情:

创建一个函数,用于检查是否有具有给定octopus\\u id的帖子

function post_with_octopus_id_exists( $octopus_id ){

    //If for some reason the $octopus_id given is empty return false
    if( empty( $octopus_id ) ){
        return false;
    }

    //Do a meta query to fetch posts with the given $octopus_id
    $args = array(
       \'post_type\'      => \'employee\',
       \'post_status\'    => \'any\'
       \'meta_query\'     => array(
            \'relation\'  => AND,
            array(
                \'key\'       => \'_octopus_id\',
                \'compare\'   => \'EXISTS\'
            ),
            array(
               \'key\'        => \'_octopus_id\',
               \'value\'      => $octopus_id,
               \'compare\'    => \'=\',
           )
       )
    );

    $the_query = new WP_Query( $args ); 

    //if there are posts with the given $octopus_id return true otherwise return false
    return ( $the_query->have_posts() ? true : false ); 

}
然后,在循环中,可以按如下方式调用函数:

foreach ( $records->data as $record ) {

    if( ! post_with_octopus_id_exists( $record->id ) ){
        echo "Hello";
    }

}
Important: 确保为每篇文章存储的meta\\u密钥命名为“\\u octopus\\u id”

相关推荐

我的WordPress插件代码中断定制.php视点

我对我的插件做了一些调整,试图让它恢复并使用升级的API/后端运行。遗憾的是,我的最新修改只注释了几行,我打破了后端视图来定制小部件。我想知道以前是否有人见过这个?如果代码有帮助的话,我的代码在Gitlab上。它相当长,而且不能百分之百确定它现在在哪里中断,所以不确定要添加哪个片段。当前视图:https://i.stack.imgur.com/Jxrbv.png