Warning: Trying to access array offset on value of type bool in /www/wwwroot/weimahe.com/wp-content/advanced-cache.php on line 472

Warning: Trying to access array offset on value of type bool in /www/wwwroot/weimahe.com/wp-content/advanced-cache.php on line 472
如何跳过WordPress中相邻帖子的某些文章链接 - 微码盒
!
也想出现在这里? 联系我们
广告位

如何跳过WordPress中相邻帖子的某些文章链接

我使用以下代码分别从单个帖子模板中获取上一篇和下一篇文章的链接;

  1. <?PHP echo get_permalink(get_adjacent_post(false,'',false)); ?>
  2. <?PHP echo get_permalink(get_adjacent_post(false,'',true)); ?>

或者使用

  1. get_adjacent_post_link( string $format, string $link, bool $in_same_term = false, array|string $excluded_terms = '', bool $previous = true, string $taxonomy = 'category' )
  • $format(string) (Required) (Default value: false) 锚文本格式
  • $link(string) (Required) 固定链接格式
  • $in_same_term(bool) (Optional)文章是否在同一分类
  • $excluded_terms(array|string) (Optional) (Default value: ”)排除分类的 ID
  • $previous(bool) (Optional) (Default value: true)是否获取上一篇文章
  • $taxonomy(string) (Optional) (Default value: ‘category’)如果 $in_same_term 设置为 true 表示限定的分类

我的问题是,请问如果有某些文章我想要跳过这些代码,只是简单地转到那些代码,我可以用某种方式使用自定义字段,或者我怎样才能使 WordPress 跳过某个链接时它出现并取出下一个相邻的一个,而不是先去我想要跳过然后重定向或者其他东西?

您可以通过不同方式处理此问题。最简单的解决方案可能是使用“$excluded_terms”(第二个参数),例如从条款 ID 为 5 的类别中排除文章:

  1. get_adjacent_post( false, '5', false )

另一个选择是使用 get_prevIoUs_post_where 和 get_next_post_where 过滤器来修改 SQL 查询.

您可以在选项表中存储要排除的文章 ID 数组,下面是一个如何排除所有置顶文章的示例:

  1. add_filter( 'get_prevIoUs_post_where', 'so16495117_mod_adjacent' );
  2. add_filter( 'get_next_post_where', 'so16495117_mod_adjacent' );
  3. function so16495117_mod_adjacent( $where ) {
  4. return $where . ' AND p.ID NOT IN (' . implode( ',', get_option( 'sticky_posts' ) ) . ' )';
  5. }

或者您可以过滤掉具有特定文章元关键字的文章,例如: my_field:

  1. add_filter( 'get_prevIoUs_post_where', 'so16495117_mod_adjacent_bis' );
  2. add_filter( 'get_next_post_where', 'so16495117_mod_adjacent_bis' );
  3. function so16495117_mod_adjacent_bis( $where ) {
  4. global $wpdb;
  5. return $where . " AND p.ID NOT IN ( SELECT post_id FROM $wpdb->postMeta WHERE ($wpdb->postMeta.post_id = p.ID ) AND $wpdb->postMeta.Meta_key = 'my_field' )";
  6. }

以上是编程之家为你收集整理的‘如何跳过 WordPress 中相邻帖子的某些文章链接’全部内容,希望文章能够帮你解遇到的程序开发问题。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

如何给WordPress的url后面添加斜杠?

2022-11-19 3:49:11

WordPress教程

如何在WordPress管理员后台添加开发者信息

2022-11-23 11:39:52

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索