首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Wordpress从自定义表数据创建带有permalinks的自定义页

Wordpress从自定义表数据创建带有permalinks的自定义页
EN

Stack Overflow用户
提问于 2017-10-12 15:30:59
回答 2查看 902关注 0票数 0

我有一个自定义表(不是wp核心表),其中有特定的产品进口。我已经建立了自定义wp页面,其中列出了这些产品,创建了自定义过滤器等。在这一步中,到目前为止,一切都是可以的--产品被列出,过滤工作,分页工作.

但是我现在想要进一步扩展的是,当单击产品列表页面中的产品名称时,打开每个产品页面(比如/ product page -page-name-1).如何才能实现“脱离wp_posts”表?

为什么我不使用wp_posts表:网站有静态页面和动态帖子,因为新闻和产品表被截断,每天晚上重新导入一次!因此,当产品列表是动态的并且在每次导入之前完全截断时,不能真正使用wp_posts页面.

有什么想法吗?也许已经有人做过这样的事了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-16 15:02:34

解决办法是相当快和容易!为了满足我的需要,只需注册全局查询var就足够了:

代码语言:javascript
复制
    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和页面显示的日期,这是来自自定义表!

票数 0
EN

Stack Overflow用户

发布于 2017-10-12 16:06:07

我不知道您是否开发了一个插件来处理您创建的所有自定义表和代码,但如果没有,我强烈建议您这样做。

因为通过将代码作为插件,您就有机会使用wordpress的所有组合,比如重写规则系统,我认为它可以帮助您实现您的目标。

几次前,我为一个我负责的网站创建了一个插件,我需要一个自定义的页面来显示在这个网站(worpdress) url系统中,如果我正确理解了你的问题,这就是你想要做的。不幸的是,插件已经发展,而且我没有备份该代码,但是如果我正确地记得我当时是如何做到的,下面是我遵循的粗略方法:

我创建了一个插件,它处理:

  • 自定义数据库表
  • 自定义php对象
  • ..。

并且(这是有趣的部分)将重写规则添加到wordpress重写规则系统,如下所示:

  1. 设置重写标记(init操作)(如果需要)
  2. 添加重写规则(init操作)
  3. 拦截url并解析它,以获得我在自定义页面中需要的参数(parse_request操作)

以下功能可帮助您做到这一点:

你需要勾搭上:

希望它能帮你开始。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46713511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档