首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使帖子的数量保持一致

使帖子的数量保持一致
EN

WordPress Development用户
提问于 2013-01-11 17:35:34
回答 1查看 137关注 0票数 0

我正在开发一个新的网站,但我无法完全解决我的permalinks问题。

我的主要网站是http://w3spine.com,我将发送帖子到我在http://w3lol.com的第二个WP安装,在那里我希望帖子permalinks是一致的,比如w3lol.com/50,w3lol.com/51,w3lol.com/52等等。

我不能使用post ID,因为还有大量其他东西存储在wp_posts中,并且ID跳过了一些数字(例如。如果在最好的情况下,给定的post有id 50,那么下一个是id 54 (50是post id,51和52是默认的修改,53是下一个帖子的附加图像),更别提如果我碰巧在某个帖子上做了修改,或者添加了一个页面或任何这个数字会增加的东西。

使用post段塞作为permalink并不是一个问题,但是常规用户会发现很难/不可能跟踪他们以前的会话,而且我还希望得到那个简短的URL外观。

我愿意接受任何能达到我想要的效果的解决方案。

PS。通过使用弹格作为permalink (%postname%),我的意思是每个帖子都有自己的名称,我不能将其更改为50、51、52等,这显然解决了另一个问题。

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2013-01-11 18:54:36

我真的没有时间或意愿来编写和调试代码来完成这项工作,但我可以为您指明如何实现此工作。一句警告:这当然不简单。

  1. 您必须将当前的数字保存在某个地方,以便每次添加post时都可以检索和增加它,我将在一种选择中这样做。
  2. 您必须通过一个自定义字段将该号码与每个帖子相关联,这样才能查询它们。这将通过save_post动作钩子来完成。在自定义字段键前加上下划线,以使其不受管理UI的影响。
  3. 当WordPress生成post permalink时,您必须将这个数字插入post permalink,这是通过post_link过滤器完成的(遗憾的是,没有代码索引示例,但是您可以在这个站点上找到一些示例,我自己写了一些)。
  4. 当接收到传入请求时,需要重写规则将其转换为查询vars。我将添加您在重写规则中设置的自定义查询变量,以便在解析查询时,您可以查找该查询变量并重新构建查询(添加查询变量的示例add_rewrite_tag)。您可能需要设置一个虚拟的post id或其他东西来通过parse_requestparse_query阶段。
  5. 生成实际SQL查询时,必须根据与自定义查询var匹配的自定义字段的值更改查询以加载post,您可以在pre_get_posts操作上这样做。有关设置自定义字段查询的查询vars的信息,请参见WP_Query
票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/80205

复制
相关文章

相似问题

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