我将尝试描述我想要实现的目标,如果太多/不够详细,请告诉我!
我正在制作一个需要上传文件的网站。这些文件只属于四个类别之一,每个类别只有一页。在此页面上,默认情况下将显示所有文档。用户还可以通过单击链接仅查看每年的文档。
它还需要分页,因此每页最多显示 10 个文档。
所以我最理想的做法是制作一个自定义帖子类型 ( documents
),然后显示一个 ACF 自定义字段集。字段集将包含三个字段(doc_type
和doc_file
)release_date
。doc_type
将是四个类别的选择字段,doc_file
文件上传和release_date
日期选择器字段。
当您单击页面时,控制器将选择 bydoc_type
以仅显示属于该类别的文档。
我想订购release_date
并使用该字段中的年份作为我的链接的显示文本。对于实际情况href
,我正在想象类似的东西/path/to/page.php?year=2017
。
所以这里有一些问题:首先是我不确定我想要做的事情是否可能 - 更不用说一种好的做事方式 - 使用 WordPress。我更习惯于纯 PHP 和 mySQL,因此我可能会尝试将更通用的解决方案硬塞到 WP 中。谁能确认是否有可能实现我想要的?
其次,当我尝试执行这个计划时,我特别遇到了一些问题。
我可以成功地让每个页面只显示属于它的文档,就像这样(尽管我是$last
通过从 URI 中获取信息来生成的,这看起来很狡猾)。
$docArgs = array(
'post_type' => 'documents',
'meta_key' => 'doc_type',
'meta_value' => $last,
);
$context['documents'] = Timber::get_posts($docArgs);
不过,当我尝试进行排序时,德纳达:
$docArgs = array(
'post_type' => 'documents',
'meta_key' => 'doc_type',
'meta_value' => $last,
'meta_query' => array(
array(
'key' => 'release_date',
'orderby' => 'meta_value_num',
'order' => DESC,
),
),
);
我假设我的语法错误,但我基本上对整个事情感到困惑。有什么建议么?