2017-10-12 45 views
0

我有1个自定义表(未WP核心表),其中有进口的特定产品。我已经建立了自定义的WP页面,这些产品列出,自定义过滤器创建等。在这一步到目前为止一切正常 - 产品列出和过滤工程,分页工程...WordPress的创建与定制表中的数据的永久链接的自定义页面

但我想要延长进一步如今 - 打开每个产品页面(如/产品上市页/产品名称-1)在产品列表页产品名称......点击时,如何能实现这个“出wp_posts的”表?

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

任何想法?也许有人已经做过这样的东西?;-)

回答

0

该解决方案相当快速和简单!对于我的需求,这已经足够了刚刚注册全局查询VAR:

function register_new_query_var($vars) { 
     $vars[] = 'product_id'; 
     return $vars; 

    add_filter('query_vars', 'register_new_query_var'); 

,然后我改变主题模板页面产品上市页,为产品的上市和个别产品做工用 如果(get_query_var(” PRODUCT_ID'))。所以,如果查询为空 - 做列表的东西,如果不是空的 - 做个别产品的东西!

对我来说这已经足够了,我甚至不需要seo友好的网址(因为产品列表每天都在变化,所以 - 每天都会有新产品,链接,并且会有很多404错误)...

和我可以使用http://example.com/product-listing-page?product_id=1和页面显示与日期是从自定义表! ;-)

0

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

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

我之前为一个网站创建了一个插件,我有收费,我需要在网站(worpdress)url系统中显示一个自定义页面,如果我正确理解您的问题,这是您想要做的。 不幸的是,插件已经演变,因为我没有保留该代码的备份,但是如果我没有记错,我是如何做到的当然,这里是我遵循的粗略方法:

我创建了一个插件,

  • 自定义数据库表(或多个)
  • 定制的PHP对象
  • ...

AND(这是野趣部分)添加重写规则WordPress的重写规则体系如下:

  1. 集重写标签(初始化动作)(如果需要)
  2. 添加重写规则(INIT动作)
  3. 拦截的URL,并解析它来获得我需要在我的自定义页面 的PARAMS(parse_request动作)

的以下功能可以帮你:

而且你需要在挂钩:

希望它能帮助你开始。

相关问题