We are apologize for the inconvenience but you need to download
more modern browser in order to be able to browse our page
2018年7月17日

WordPress出现“侧边栏的参数数组中未设置id”的解决办法

在当前使用的主题文件目录下,找到functions.php文件,打开,搜索“register_sidebar”,将所有的

register_sidebar(array('name'=>'Sidebar 1'));

修改成

//id可以根据需要自己定义
register_sidebar(array('name'=>'Sidebar 1', 'id' => 'sidebar-1'));

这样以来上面的错误就可解决了。


2018年7月15日

免插件,WordPress让媒体文件也有分类和标签

在当前主题的functions.php中添加php代码

function ludou_create_media_category() {
  $args = array(
    'label' => '媒体分类',
    'hierarchical' => true,
    'show_admin_column' => true,
    'show_ui'      => true,
    'query_var'    => true,
    'rewrite'      => true,
  );

  register_taxonomy( 'attachment_category', 'attachment', $args );
}

add_action( 'init', 'ludou_create_media_category' );

2018年7月15日

WordPress RSS Feed 设置及优化技巧

RSS Feed 基本设置

在后台 > 设置 >阅读,可以设置 Feed 输出的篇数和类型。

注:如无特殊说明,下面的代码都添加到当前主题的 functions.php 文件即可

Feed 输出自定义内容

在feed中输出自定义内容可以通过 ‘the_content’ 这个 filter 钩子轻松实现,我们要做的就是使用 is_feed() 这个条件标签来判断只在 Feed 输出内容。例如下面的例子:

function custom_rss_feed_content($content) { //定义新函数
	if(is_feed()) { //只在Feed中执行
		$output = '欢迎访问 https://chenchunlei.com'; //添加自定义内容
		$content = $content . $output ; //重新设定文章内容 $content
	}
	return $content; //返回最后的文章内容
}
add_filter('the_content','custom_rss_feed_content'); //通过钩子挂载该函数

注:

1. 代码中的 $content 是WordPress预留的 文章内容变量,$output 是我们自定义的变量,用来添加自定义内容;

2. $content . $output 表示在文章原文的后面添加 $output 的内容,如果你想在原文前面添加,可以改为 $output . $content

3. $output 后面的自定义内容可以是 HTML 代码,比如下面的例子:

//Feed输出版权信息
function chenchunlei_feed_copyright($content) {
	if(is_feed()) {
		$post_title = get_the_title(); //获取原文标题
		$post_link = get_permalink($post->ID); //获取原文链接
		$output = '<p><span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">声明:</span> 本文采用 <a rel="nofollow" href=" http://chenchunlei.com/rss-feed/" title="WordPress RSS Feed 设置及优化技巧">BY-NC-SA</a> 协议进行授权 | <a href="'.home_url().'">'.get_bloginfo('name').'</a><br />转载请注明转自《<a rel="bookmark" title="' . $post_title . '" href="' . $post_link . '">' . $post_title . '</a>》</p>';
		$content = $content . $output ;
	}
	return $content;
}
add_filter ('the_content', 'chenchunlei_feed_copyright');

Feed 输出自定义字段

如果你在文章中使用了自定义字段,要在Feed中输出的话,可以使用 get_post_meta() 函数获取自定义字段的值。假设你要调用的是 copyright 这个自定义字段,可以使用下面的代码:

//Feed 输出自定义字段
function fields_in_feed($content) {
	if(is_feed()) {
		$post_id = get_the_ID(); //获取文章ID
		$output = get_post_meta($post_id, 'copyright', true) ; // 获取字段 copyright 的值
		$content = $content.$output;
	}
	return $content;
}
add_filter('the_content','fields_in_feed');

Feed 输出文章特色图像

//Feed 输出文章特色图像(缩略图)
function rss_post_thumbnail($content) {
	global $post; //查询全局文章
	if(has_post_thumbnail($post->ID)) { //如果有特色图像
		$output = get_the_post_thumbnail($post->ID) ; //获取缩略图
		$content = $output . $content ;
	}
	return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

Feed 只输出简码内容

//Feed 只输出简码(shortcode)内容
function rssonly_content( $atts, $content = null) {
	if (!is_feed()) return "";//如果不是Feed,不返回内容
	return $content;
}
add_shortcode('rssonly', 'rssonly_content'); //注册简码 rssonly

在写文章的时候,使用简码 [rssonly] 包含的内容,只会在Feed输出:

[rssonly] 非常感谢访问 陈春雷博客 chenchunlei.com [/rssonly]

在 Feed 中排除分类

//在Feed中排除某些分类
function exclude_cat_feed($query) {
	if(is_feed()) {
		$query->set('cat','-1'); //排除ID为 1 的分类
		return $query;
	}
}
add_filter('pre_get_posts', 'exclude_cat_feed');

如果要排除多个分类,将第 4 行修改为下面的代码:

$query->set('cat','-1, -4, -7'); //排除ID为 1、4、7 的分类

禁用所有 Feed 订阅

如果你不愿意让别人订阅的你网站,可以使用下面的代码:

//禁用Feed订阅
function wp_disable_feed() {
	wp_die( __('抱歉,本站不支持订阅,请返回<a href="'. get_bloginfo('url') .'">首页</a>') ); 
}
add_action('do_feed', 'wp_disable_feed', 1);
add_action('do_feed_rdf', 'wp_disable_feed', 1);
add_action('do_feed_rss', 'wp_disable_feed', 1);
add_action('do_feed_rss2', 'wp_disable_feed', 1);
add_action('do_feed_atom', 'wp_disable_feed', 1);

好了,今天就分享这些,如果你还知道其他Feed优化技巧,欢迎和我们一起分享。

2018年7月10日

陈春雷:几行小代码,给WordPress导航菜单添加分页

分页导航菜单是一个网站必不可少的元素,今天就和大家分享一下倡萌使用了很久的 WordPress代码实现分页导航 的方法。

导航的效果如图所示:

WordPress设置导航菜单分页

实现的方法很简单,一起来折腾吧

1.将下面的代码放到 functions.php 最后一个 ?> 的前面

function par_pagenavi($range = 9) {
  global$paged,
  $wp_query;
  if (!$max_page) {
    $max_page = $wp_query - > max_num_pages;
  }
  if ($max_page > 1) {
    if (!$paged) {
      $paged = 1;
    }
    if ($paged != 1) {
      echo'<a href=\''.get_pagenum_link(1).'\' class=\'extend\' title=\'跳转到首页\'> 返回首页 </a>';
    }
    previous_posts_link(' 上一页 ');
    if ($max_page > $range) {
      if ($paged < $range) {
        for ($i = 1; $i <= ($range + 1); $i++) {
          echo'<a href=\''.get_pagenum_link($i).'\'';
          if ($i == $paged) echo' class=\'current\'';
          echo'>$i</a>';
        }
      }
      elseif($paged >= ($max_page - ceil(($range / 2)))) {
        for ($i = $max_page - $range; $i <= $max_page; $i++) {
          echo'<a href=\''.get_pagenum_link($i).'\'';
          if ($i == $paged) echo' class=\'current\'';
          echo'>$i</a>';
        }
      }
      elseif($paged >= $range && $paged < ($max_page - ceil(($range / 2)))) {
        for ($i = ($paged - ceil($range / 2)); $i <= ($paged + ceil(($range / 2))); $i++) {
          echo'<a href=\''.get_pagenum_link($i).'\'';
          if ($i == $paged) echo' class=\'current\'';
          echo'>$i</a>';
        }
      }
    } 
    else {
      for ($i = 1; $i <= $max_page; $i++) {
        echo'<a href=\''.get_pagenum_link($i).'\'';
        if ($i == $paged) echo' class=\'current\'';
        echo'>$i</a>';
      }
    }
    next_posts_link(' 下一页 ');
    if ($paged != $max_page) {
      echo'<a href=\''.get_pagenum_link($max_page).'\' class=\'extend\' title=\'跳转到最后一页\'> 最后一页 </a>';
    }
  }
}

2.添加下面的css样式到你的 style.css

.page_navi{overflow:hidden;width:100%;text-align:center}

.page_navi a{height:36px;border:1px solid #DDD;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;color:#888;text-decoration:none;line-height:36px;margin:2px;padding:3px 8px}

.page_navi a:hover,.page_navi a.current{border:1px solid #FFBB76;color:#FF7200;font-weight:bolder}

3.在需要显示的地方(比如主题的 index.php、archive.php、category.php、search.php)中添加下面的调用代码即可

<div class="page_navi"><?php par_pagenavi(9); ?></div>

上面的数字表示最大显示几页,你可以根据自己的需要修改。

2018年6月30日

为什么我们的房间总是乱七八糟的?是因为我们懒吗?

  大家有没有这样的经历,刚刚收拾好的房间,过不了几天又恢复到乱七八糟的原样子了!除非刻意保持着,或是有洁癖的人,大多数的人的房间都是如图所示,从左边整齐干净向着右边的乱七八糟变,只是混乱的程度有所不同而已。是因为我们懒吗?还是有什么某种力量在引导着?

  在寻找答案之前,大家要先了解一个名词:“熵”。什么是熵?熵是一个物理学名词,是衡量一个系统的混乱性,熵值越大,其越混乱。
  任何一个封闭系统,随着时间推移,顺其自然话,会倾向于混乱,其熵值也会随之增大,最终达到一个最大值,这就是熵增原理。

  说到这里,相信聪明的你已经找到答案了。

  除了物理学外,我们的生活和社会发展都存在着熵增现象。比如上面的乱七八糟的房间,还有我们的办公桌也是。一个公司变大后,人员变多了,业务范围也变广了,就会出现大公司病,人事复杂,做事效率低下。一条街道上,有人摆摊叫卖,渐渐地,买的人和卖的人就会多起来,街道变得车水马龙,垃圾遍地,各种噪音。我们的皮肤,随着年龄的增长,皮肤就就不再光滑有弹性。这一切,其实都能用熵增原理来解释。

  在我们周围,这种现象随处可见。互联网刚刚出现,有些很高的使用门槛,都是一些高知识的人群在使用。后来逐渐大众化,什么人都能用了,也就乱套了,除正当经营的,黑客、诈骗、非法买卖、黄赌等。有个知识问答类的网站,叫“知乎”,靠一群精英不断地产出高质量的内容,后来开放注册后,出现了一大群营销号,发了很多低质量的内容,导致前期的精英大量流失,再也不是当初的那个知乎了。一个QQ群,不加以管理,很快变得满屏广告,真正的用户就会离开,而这个群的熵值就达到了最大值,达到最大值就意味着消亡,只剩下一群机器人在里面发广告,这个QQ群存不存在都一个样了。

  要改变这现象,就需要借助外部的力量。比如房间,我们都知道经常收拾的话,就会整齐干净。为了让城市干净整洁,出现了城市管理员,简称“城管”。为了提高公司做事效率,需要制定一系列规章,做一些改革措施,并进行监督。但这些改变都是需要付出的。如果是付出带来的改变,远远大于付出,那这些付出是值得的。比如,周末,用一两个小时收拾房间,换来一两个星期的干净。城市的核心或重点区域,都会配置城管和清洁工人,维护城市的形象,而在有些小镇、城乡结合部,没有配城管和清洁工人,是因为投入产出比的原因。使用一些护肤品,做一些皮肤保养,延缓皮肤的衰老,也被越来越多的人接受。

  当管理付出的成本,小于混乱带来的损失;或是管理带来的收益,超过管理的成本,就有必要进行管理一下。所以当下,国家在花大力气整治互联网环境。

  还有就是当下腾讯整治微信群控。张小龙搞出了微信,并让微信成为腾讯的一张王牌,得到马化腾的认可。但现在整个微信环境,也被一群人玩坏了,特别是群控,让这群人以较低的成本搞事,让用户产生了离开或少用的想法。所以张小龙出手了,稍微发一下力,就打掉一大片,净化一段时间,恢复用户的信心。

  为什么事情总朝着坏的方向发展,熵对此给予了很好的解释。错误的方式有很多种,而正确的方式却只有一种。无序的状态远比有序的多。生活之所以越来越复杂是因为熵在其中发挥作用。真正值得我们注意的是:与其遇到问题就抱怨消沉、怨天尤人,不如努力去解决问题,将生活过的更有秩序。

2018年6月30日

世界,您好!

欢迎使用WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!

Top
LOADING CONTENT