0

我将尝试描述我想要实现的目标,如果太多/不够详细,请告诉我!

我正在制作一个需要上传文件的网站。这些文件只属于四个类别之一,每个类别只有一页。在此页面上,默认情况下将显示所有文档。用户还可以通过单击链接仅查看每年的文档。

它还需要分页,因此每页最多显示 10 个文档。

所以我最理想的做法是制作一个自定义帖子类型 ( documents),然后显示一个 ACF 自定义字段集。字段集将包含三个字段(doc_typedoc_filerelease_datedoc_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,
        ),
    ),
);

我假设我的语法错误,但我基本上对整个事情感到困惑。有什么建议么?

4

0 回答 0