如何在特定类别下按元键查询帖子?

时间:2014-12-11 作者:Daniel Lemes

场景:

我正在WordPress的审查系统中工作,这是一个游戏审查网站。它使用默认贴子,即在;“审阅”;类别,显示评论的元字段(来自ACF插件)。这很平常,没有秘密。

区别在于:使用自定义帖子类型,其他页面将;捕获(&Q);来自评论的数据显示了该游戏的平均得分,来自X个评论。

因此,如果我对;“致命的快击”;,常规信息页面-自定义帖子;游戏–将使用slug查询评论;回顾《致命的快击短剑》”;,计算每个标准(图形、声音等)的平均分数,并将其显示为图形信息。

审查系统已准备就绪,运行良好,但我有一个问题,即在;“游戏”;页这是我试图用来查找评论的WP\\U查询:

$args = array(
        \'numberposts\' => -1,
        \'post_type\' => \'post\',
        \'post_status\' => \'publish\',
        \'category_name\' => \'review\',
        \'meta_query\' => array(
        \'relation\' => \'AND\',
            array(
            \'key\' => \'acf_gametitle\',
            \'value\' => $newtitle,
            \'compare\' => \'=\'
            ),
            array(
            \'key\' => \'acf_platform\',
            \'value\' => $catconsole,
            \'compare\' => \'=\'
            )
        )
    );
    $the_query = new WP_Query( $args );
“法律”;acf\\U gametitle“;是一个带有游戏名称的元字段(来自评论)。

  • $newtitle存储游戏名称(从游戏页面)。

  • ”;acf\\U平台“;,当然,存储平台(SNES、Sega Genesis等)。

  • $catconsole存储游戏页面的自定义类别(平台名称)。

    我需要什么:First, 职位类型查询;“过帐”;,类别为“;查看“;,其中“自定义”字段;acf\\U gametitle“;与游戏页面中的var$newtitle具有相同的值。

    因此,如果页面是关于;“致命的快击”;,必须找到标题为“的所有评论”;“致命的快击”;。

    AND second: 自定义字段“;acf\\U平台“;自审查必须具有相同的风险值$catconsole;。

    因此,它不会从《致命的快打》到SNES和arcade的评论中获得价值——只有合适的平台。

    它不起作用,一直在给我所有游戏机的评论数据:SNES和arcade的《致命快拍》被计算为;《致命快拍》两篇评论;在游戏的SNES页面:

    $string_count = $the_query->found_posts; 
    echo $string_count;
    
    有什么问题吗?提前感谢您的帮助。

  • 2 个回复
    最合适的回答,由SO网友:Daniel Lemes 整理而成

    它不起作用,一直在给我所有控制台的评论数据:SNES和arcade的《致命快攻》在游戏的SNES页面被算作“致命快攻的两篇评论”。。。

    它正在发挥作用。代码还可以,我只是犯了一个小错误:“snes”类别下有两个评论,我在测试时忘记更改其中一个。我只添加了一个(\'ignore\\u sticky\\u posts\'=>1)。愚蠢的错误,抱歉。

    SO网友:Craig Bilski

    您是否在“acf\\U platform”字段中使用复选框或类似选项,将acf用于多个选择?

    高级自定义字段将这些字段存储为序列化数组,因此使用“compare”=>“=”的meta\\u查询可能无法工作。

    ACF文档建议使用“compare”=>“LIKE”

    $args = array(
       \'meta_query\' => array(
             array(
                \'key\' => \'field_name\', // name of custom field
                \'value\' => \'"red"\', // matches exaclty "red", not just red. This prevents a match for "acquired"
                \'compare\' => \'LIKE\'
            )
       )
    );
    

    http://www.advancedcustomfields.com/resources/checkbox/

    <人力资源>EDIT: 事实上,我意识到如果是这种情况,您的查询应该不会返回任何结果。你提到它同时返回了两个帖子,所以情况可能不是这样。

    结束
    如何在特定类别下按元键查询帖子? - 小码农CODE - 行之有效找到问题解决它

    如何在特定类别下按元键查询帖子?

    时间:2014-12-11 作者:Daniel Lemes

    场景:

    我正在WordPress的审查系统中工作,这是一个游戏审查网站。它使用默认贴子,即在;“审阅”;类别,显示评论的元字段(来自ACF插件)。这很平常,没有秘密。

    区别在于:使用自定义帖子类型,其他页面将;捕获(&Q);来自评论的数据显示了该游戏的平均得分,来自X个评论。

    因此,如果我对;“致命的快击”;,常规信息页面-自定义帖子;游戏–将使用slug查询评论;回顾《致命的快击短剑》”;,计算每个标准(图形、声音等)的平均分数,并将其显示为图形信息。

    审查系统已准备就绪,运行良好,但我有一个问题,即在;“游戏”;页这是我试图用来查找评论的WP\\U查询:

    $args = array(
            \'numberposts\' => -1,
            \'post_type\' => \'post\',
            \'post_status\' => \'publish\',
            \'category_name\' => \'review\',
            \'meta_query\' => array(
            \'relation\' => \'AND\',
                array(
                \'key\' => \'acf_gametitle\',
                \'value\' => $newtitle,
                \'compare\' => \'=\'
                ),
                array(
                \'key\' => \'acf_platform\',
                \'value\' => $catconsole,
                \'compare\' => \'=\'
                )
            )
        );
        $the_query = new WP_Query( $args );
    
    “法律”;acf\\U gametitle“;是一个带有游戏名称的元字段(来自评论)。

  • $newtitle存储游戏名称(从游戏页面)。

  • ”;acf\\U平台“;,当然,存储平台(SNES、Sega Genesis等)。

  • $catconsole存储游戏页面的自定义类别(平台名称)。

    我需要什么:First, 职位类型查询;“过帐”;,类别为“;查看“;,其中“自定义”字段;acf\\U gametitle“;与游戏页面中的var$newtitle具有相同的值。

    因此,如果页面是关于;“致命的快击”;,必须找到标题为“的所有评论”;“致命的快击”;。

    AND second: 自定义字段“;acf\\U平台“;自审查必须具有相同的风险值$catconsole;。

    因此,它不会从《致命的快打》到SNES和arcade的评论中获得价值——只有合适的平台。

    它不起作用,一直在给我所有游戏机的评论数据:SNES和arcade的《致命快拍》被计算为;《致命快拍》两篇评论;在游戏的SNES页面:

    $string_count = $the_query->found_posts; 
    echo $string_count;
    
    有什么问题吗?提前感谢您的帮助。

  • 2 个回复
    最合适的回答,由SO网友:Daniel Lemes 整理而成

    它不起作用,一直在给我所有控制台的评论数据:SNES和arcade的《致命快攻》在游戏的SNES页面被算作“致命快攻的两篇评论”。。。

    它正在发挥作用。代码还可以,我只是犯了一个小错误:“snes”类别下有两个评论,我在测试时忘记更改其中一个。我只添加了一个(\'ignore\\u sticky\\u posts\'=>1)。愚蠢的错误,抱歉。

    SO网友:Craig Bilski

    您是否在“acf\\U platform”字段中使用复选框或类似选项,将acf用于多个选择?

    高级自定义字段将这些字段存储为序列化数组,因此使用“compare”=>“=”的meta\\u查询可能无法工作。

    ACF文档建议使用“compare”=>“LIKE”

    $args = array(
       \'meta_query\' => array(
             array(
                \'key\' => \'field_name\', // name of custom field
                \'value\' => \'"red"\', // matches exaclty "red", not just red. This prevents a match for "acquired"
                \'compare\' => \'LIKE\'
            )
       )
    );
    

    http://www.advancedcustomfields.com/resources/checkbox/

    <人力资源>EDIT: 事实上,我意识到如果是这种情况,您的查询应该不会返回任何结果。你提到它同时返回了两个帖子,所以情况可能不是这样。

    相关推荐

    mp4 video preview

    我们的网页使用WordPress 4.2.1 running美德-Premium主题。当我使用visual editor插入视频时,例如。[video width=\"1280\" height=\"720\" mp4=\"http://F6tech.com/wp-content/uploads/../../test.mp4\"][/video] 网页上没有预览。它只显示一个带箭头的黑色视频屏幕。是否可以从视频的第十秒开始显示静止画面?