WordPress按元数据和搜索层次结构过滤自定义帖子类型

时间:2014-10-24 07:00:50

标签: wordpress-theming wordpress

我有一个名为cptMovie的自定义帖子类型,其中分配了两个自定义字段(元数据)"Language""Box office"

我还有一个名为movieTax的自定义分类,包含4个税收条款“Action”,“Comedy”,“Family”和“Horror “。

在如下的WordPress文件结构中:

  1. 的index.php
  2. page.php文件
  3. 页-movie.php
  4. taxonomy.php
  5. 分类法movieTax.php
  6. 我能够使用索引页面(movieTax)和自定义wp查询列出并显示Taxonomy page-movie.php下的所有自定义帖子类型(电影),并最终将它们链接到taxonomy-movieTax.php根据每个税收条款拥有所有邮政。

    到目前为止我很好并且得到了重新开始但我需要为用户添加一些过滤器,例如按语言或Boc办公室元数据过滤结果,

    现在我的问题是WP模板层次结构的哪一部分负责显示结果?如果是这样的查询,我是否必须创建search.php

    $arg = array(
        'meta_query' => array(
            array(
                'key' => 'language',
                'value' => 'english'
            )
        )
    );
    
    $filter-lang = new WP_Query( $arg );
    
    page-movie.php中的

    会以search.php结尾吗?

    谢谢,

1 个答案:

答案 0 :(得分:0)

您无需创建“search.php”文件。

您可以根据您的要求在“page-movie.php”或“taxonomy-movieTax.php”文件中添加以下代码。

 $arg = array(
          'meta_query' => array(
          'relation' => 'OR',
          array(
              'key' => 'language',
              'value' => $lang_val,
              'compare' => '='
           ),
           array(
              'key' => 'box_office',
              'value' => $box_office_val,
              'compare' => '='
          )
       )
);

$filter-lang = new WP_Query( $arg );

这里,$ lang_val& $ box_office_val是搜索语言键和值的值。票房钥匙分别。但是,如果要创建单独的搜索文件,还需要在参数中指定帖子类型。