WordPress 知更鸟 Begin 主题修改代码实现新标签页打开文章链接方法

已关闭留言

WordPress 主题有一款知更鸟出品的 Begin 主题,是非常受欢迎的一个主题。老唐之前和朋友老蒋也一起购买过正版授权,买来之后发现后台设置繁多,功能齐全。但是一直没有一个自己想要的功能,就是让文章列表中的文章在新标签页中打开。

Begin 主题后台倒是有个设置,可以勾选“首页新窗口或标签打开链接”,但是勾选之后,不仅是文章在新标签页打开,连点击下一页都会给你新开一个标签页,这就有点离谱了。翻一页多开一个标签页,到最后翻了 10 页就有 10 个标签页,用户体验很不好。所以今天花了点时间找一下这个代码到底在哪里,怎样简单的修改一下代码就可以实现 WordPress Begin 主题在新标签页打开文章。

下面是 Begin 主题自带的选项,勾选之后效果就是上面说的,所有链接都会在新标签页打开,并不实用。

修改方法其实很简单,通过观察网页源码我们发现标题是在一个叫做 entry-title 的 CSS class 里面,我们在 template/content.php 这个文件就可以看到这段代码。

所以我们只需要找到 template/content.php 文件中的如下代码段:

<header class="entry-header">
  <?php if ( is_single() ) : ?>
    <?php if ( get_post_meta($post->ID, 'header_img', true) || get_post_meta($post->ID, 'header_bg', true) ) { ?>
    <?php } else { ?>
      <?php if ( get_post_meta($post->ID, 'mark', true) ) { ?>
        <?php the_title( '<h1 class="entry-title">', '<span class="t-mark">' . $mark = get_post_meta($post->ID, 'mark', true) . '</span></h1>' ); ?>
      <?php } else { ?>
        <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
      <?php } ?>
    <?php } ?>
  <?php else : ?>
    <?php if ( get_post_meta($post->ID, 'mark', true) ) { ?>
      <?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a><span class="t-mark">' . $mark = get_post_meta($post->ID, 'mark', true) . '</span></h2>' ); ?>
    <?php } else { ?>
      <?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>
    <?php } ?>
  <?php endif; ?>
</header><!-- .entry-header -->

然后找到其中的 <h2 class="entry-title"><a href="%s" rel="bookmark">,给它加上一个 target="_blank" 即可,也就是修改为  <h2 class="entry-title"><a href="%s" target="_blank" rel="bookmark">,如下图所示。

然后就可以实现在新标签页中打开文章列表的链接了。