自定义帖子类型和结构问题

时间:2021-03-10 作者:revive

我正在一个我过去从未见过的网站上工作。具体而言,该网站有库存项目(自定义帖子类型“项目”),显示在项目存档和项目单页上。对于其中一些“项目”,我们将输入一个匹配的ACF字段(拍卖ID),以将它们相互关联。。例如,具有相同拍卖ID的物品不仅会单独显示在库存中,还会显示在拍卖自定义帖子类型页面上(单个)。我们还将在存档页面上显示这些拍卖的列表。

So, here\'s the question.您认为WP专家会推荐什么来清晰地构建此结构:

使用自定义帖子类型(我已经开始设置)并对单个归档项目、单个项目、归档拍卖和单个操作页面进行编码,以显示循环。并在物品上使用ACF字段,我可以在循环中调用该字段来显示那些具有匹配ACF字段(拍卖ID)的物品?

将自定义帖子类型与类别或其他结构WP选项一起使用?

由于我们没有使用任何典型的拍卖功能(拍卖是通过拍卖提供商从网站上截取的,这些页面只是为了表示和链接到该网站),而且我们不需要电子商务功能,所以我们不喜欢使用拍卖插件等,而只是从WP core推出。但是,在陷入混乱之后,我们不得不从以前的开发人员那里修复。。我的头在发抖。我就是想不出构造这些内容项的最佳方法。

Recap:库存项目被发布到网站(显示在single-item.php模板上)一些项目将被关联(可能与ACF字段相关)。网站上有拍卖帖子,其中包含描述和其他事件数据,以及显示具有匹配ACF字段数据的库存项目。拍卖既有档案拍卖,也有档案拍卖。php(用于列出所有拍卖)和单一拍卖。php显示个人拍卖帖子。

所有库存项目将保留在网站上,即使在出售后(仅显示为“已售出”)。尚未配置此状态。什么是最容易循环的-ACF字段?分类学类别

拍卖将在预设时间到期(当前自定义帖子类型中的ACF日期字段)

非常感谢您的建议!

这是我当前的循环:

`           <?php
            $today = date("Ymd");

            $loop = new WP_Query(
                array(
                    \'post_type\' => \'auction\',
                    \'posts_per_page\' => 5,
                    \'meta_key\' => \'auction_date\',
                    \'orderby\' => \'meta_value\',
                    \'order\' => \'ASC\',
                    \'meta_query\' => array( // WordPress has all the results, now, return only the events after today\'s date
                        array(
                            \'key\' => \'auction_date\', // Check the start date field
                            \'value\' => $today, // Set today\'s date (note the similar format)
                            \'compare\' => \'>=\', // Return the ones equal or greater than today\'s date
                            \'type\' => \'DATE\' // Let WordPress know we\'re working with date
                            )
                    )
                    /*
                    ,
                    \'tax_query\' => array( // Return only concerts (event-types) and events where "songs-of-ascent" is performing
                        array(
                            \'taxonomy\' => \'status\',
                            \'field\' => \'slug\',
                            \'terms\' => \'available\',
                        ),
                    )
                    */
                )
            );
        if ( $loop->have_posts() ): 
            
            get_template_part( \'template-parts/content\', \'auctions\' );              

        else :

            get_template_part( \'template-parts/content\', \'none\' );

        endif; 
            wp_reset_postdata();
        ?>
        
`

1 个回复
SO网友:Tony Djukic

这是一个很难得到准确或正确答案的问题,因为它是主观的。。。例如,我不会使用ACF,但其他人会使用。

如果我理解正确的话,下面是我关于如何简化此过程的建议。。。

保留“Items”的自定义Post类型,然后,我想,继续使用ACF将字段构建到cpt中。

对于不同的显示,您使用不同的模板。因此,一个用于单个项目,一个用于单独拍卖,等等。

然后,使拍卖成为一种分类法-您还可以向分类法和自定义分类法添加自定义术语meta(从WP 4.4开始)。(之前的方法是制作元数据wp_options 然后将选项与分类法关联。)

然后,您只需将“拍卖”分配给“项目”,然后就可以构建模板,动态加载拍卖中的所有项目。

从那里,您可以将ACF的日期字段应用于不同的区域等。

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register