WordPress 几个实用经验分享
在自己构搭个人博客时候,使用了wordpress。有时候会有这样那样的想法需求,常常都是搜索方法一个一个试,如果这个不行就换一个再试试,有时候还是会消磨一点时间。这里是几个自己碰到的需求问题,自己记录下来方便后续再调整,同时使得有同样需求的网友查阅。
1 在WordPress首页和目录页只显示摘要
需要修改博客首页和目录页不显示整篇文章,而显示文章前面一小部分,可以在后台管理里面进入“外观”-> “编辑”,找到content.php文件,按照下面代码修改<div class=”entry-content”> 标签里面的内容即可。(以Twenty Fifteen 模版为例) 如下
/*屏蔽该段代码
the_content( sprintf(__( 'Continue reading %s', 'twentyfifteen' ), the_title( '<span class="screen-reader-text">', '</span>', false ))
);*/
// 增加如下代码
if(!is_single()) {
the_excerpt();
} else {
the_content(__('(more…)'));
}
2 把文章的标签作为keyword
为每编文章增加keyword,方便搜索引擎搜索。
后台管理进入“外观”-> “编辑”,找到header.php,在<head> 标签内增加下面代码即可。
<?php
if (is_home()){
$description = "这里写下主页期望的description";
$keywords = "这里写下主页期望的keyword";
} elseif (is_single()){
if ($post->post_excerpt) {
$description = $post->post_excerpt;
} else {
$description = substr(strip_tags($post->post_content),0,200);
}
$keywords = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ) {
if (strlen($keywords) != 0) {
$keywords = $keywords.",";
}
$keywords = $keywords.$tag->name;
}
}
?>
<meta name="keywords" content="<?=$keywords?>" />
<meta name=”description” content="<?=$description?>" />
3 为每编文章自动加上原链接
有时候希望别人拷贝自己文章时候带上文章原地址,便期望每个文章后面输出文章原地址。方法如下:
(推荐)方法1:
后台管理里面进入“外观”-> “编辑”,找到functions.php文件,在文件末尾加上如下代码即可:
function add_after_post_content($content) {
if(!is_feed() && !is_home() && is_singular() && is_main_query() && !is_page("about")) {
$original_link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$link = '<a href="'.$original_link.'" title="原地址">原文链接:'.$original_link.'</a>';
$content .= $link;
}
return $content;
}
add_filter('the_content', 'add_after_post_content');
方法2:
后台管理里面进入“外观”-> “编辑”,找到content.php文件。
查阅源代码,找到一个 if ( ! is_single() ) 这样的类似分支,在else 逻辑内的末尾处加入如下代码:
$original_link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?><a href="<?php echo ($original_link)?>" title="原地址"/>原文链接:<?php echo ($original_link)?></a><?php
有些WP 主题可能是 if ( is_single() ) 的逻辑,直接在其括号末尾处加上上面代码。is_single 字面理解就可以知道判断是非是单篇文章。
如果该文件有多个is_single之类的判断,需要断定下哪个才是博客内容的逻辑,找出它再加进去。
如果想在文章开头加上该功能,则在if 括号内开始位置加上上述代码即可。
(全文完)
(欢迎转载本站文章,但请注明作者和出处 云域 – Yuccn )