Wordpress 如何在Fishpig中按自定义字段进行过滤?

Wordpress 如何在Fishpig中按自定义字段进行过滤?,wordpress,magento,fishpig,Wordpress,Magento,Fishpig,有一种方法可以获取Magento/Wordpress(具有Fishpig扩展名)中自定义字段的所有复选框: 我正试图通过选中的复选框筛选帖子,并考虑通过for循环将过滤器与帖子进行比较,但是否有更有效的方式筛选帖子?您可以创建一个自定义的帖子集合,这些帖子由自定义字段过滤: $posts = Mage::getResourceModel('wordpress/post_collection') ->addIsViewableFilter() ->addMetaFiel

有一种方法可以获取Magento/Wordpress(具有Fishpig扩展名)中自定义字段的所有复选框:


我正试图通过选中的复选框筛选帖子,并考虑通过for循环将过滤器与帖子进行比较,但是否有更有效的方式筛选帖子?

您可以创建一个自定义的帖子集合,这些帖子由自定义字段过滤:

$posts = Mage::getResourceModel('wordpress/post_collection')
    ->addIsViewableFilter()
    ->addMetaFieldToFilter('custom_field_name', 'custom field value')
    ->load();
这将返回名为“custom_field_name”的自定义字段值为“custom field value”的所有已发布帖子

拥有post模型后,检索自定义字段值的正确方法如下所示:

$customFieldValue = $posts->getMetaValue('custom_field_name');
$posts=Mage::getResourceModel('wordpress/post\u collection'))
->addIsViewableFilter()
->加载();
foreach($posts作为$post){
echo$post->getId()。
; echo$post->getPostTitle()。
; echo$post->getMetaValue(“您的自定义字段名称”)。

; }

此代码获取所有帖子,并显示帖子ID、帖子标题以及bame为“your_custom_field_name”的自定义字段的值

,因此我可以获取帖子或自定义帖子,但当我想通过“addMetaFieldToFilter('custom_field_name','custom field value')过滤自定义帖子时,它返回空集合。我已经考虑了小写/大写,但我无法检索带有复选框值为“RNA”的“cell_type”的帖子。我甚至尝试过addMetaFieldToFilter('cell_type,array('RNA'=>'RNA')),但仍然返回null。你怎么认为?谢谢你!更改->加载();至->加载(真);SQL将被打印到屏幕上。这将有助于查看查询实际执行的操作。如果我有一个自定义字段(选择类型(ie)下拉列表),那么我的自定义字段名称是“type”,wat将是我的“自定义字段值”??我有我的选择下拉列表值,比如articles:articles,something:something代码没有得到选择,但它确实得到了所选的值。您必须编写自己的代码才能获得选择。
$customFieldValue = $posts->getMetaValue('custom_field_name');
$posts = Mage::getResourceModel('wordpress/post_collection')
    ->addIsViewableFilter()
    ->load();

foreach($posts as $post) {
    echo $post->getId() . '<br/>';
    echo $post->getPostTitle() . '<br/>';
    echo $post->getMetaValue('your_custom_field_name') . '<br/><br/>';
}