我有一个自定义表(不是wp核心表),其中有特定的产品进口。我已经建立了自定义wp页面,其中列出了这些产品,创建了自定义过滤器等。在这一步中,到目前为止,一切都是可以的--产品被列出,过滤工作,分页工作.
但是我现在想要进一步扩展的是,当单击产品列表页面中的产品名称时,打开每个产品页面(比如/ product page -page-name-1).如何才能实现“脱离wp_posts”表?
为什么我不使用wp_posts表:网站有静态页面和动态帖子,因为新闻和产品表被截断,每天晚上重新导入一次!因此,当产品列表是动态的并且在每次导入之前完全截断时,不能真正使用wp_posts页面.
有什么想法吗?也许已经有人做过这样的事了?
发布于 2017-10-16 15:02:34
解决办法是相当快和容易!为了满足我的需要,只需注册全局查询var就足够了:
function register_new_query_var($vars) {
$vars[] = 'product_id';
return $vars;
add_filter('query_vars', 'register_new_query_var');然后,通过使用if(!get_query_var('product_id')),我更改了页面产品列表页面的主题模板,以适用于产品列表和单个产品。所以,如果查询空做清单的东西,如果不是空-做个别产品的东西!
对我来说,这已经足够了,我甚至不需要seo友好的urls (因为产品列表每天都在变化,所以每天都会有新的产品、链接,并且会有很多404错误).
我可以使用id=1和页面显示的日期,这是来自自定义表!
发布于 2017-10-12 16:06:07
我不知道您是否开发了一个插件来处理您创建的所有自定义表和代码,但如果没有,我强烈建议您这样做。
因为通过将代码作为插件,您就有机会使用wordpress的所有组合,比如重写规则系统,我认为它可以帮助您实现您的目标。
几次前,我为一个我负责的网站创建了一个插件,我需要一个自定义的页面来显示在这个网站(worpdress) url系统中,如果我正确理解了你的问题,这就是你想要做的。不幸的是,插件已经发展,而且我没有备份该代码,但是如果我正确地记得我当时是如何做到的,下面是我遵循的粗略方法:
我创建了一个插件,它处理:
并且(这是有趣的部分)将重写规则添加到wordpress重写规则系统,如下所示:
以下功能可帮助您做到这一点:
你需要勾搭上:
希望它能帮你开始。
https://stackoverflow.com/questions/46713511
复制相似问题