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">
,如下图所示。
然后就可以实现在新标签页中打开文章列表的链接了。