網生@誌 | zEUS.'Blog

首页 » Wordpress插件 , Wordpress研究 » 2013-06-23 »

解决由 wp_head() 函数引起的 WP-PostViews 插件不计数的方法

字体大小:T | T

在优化 www.toycraft.cn 的过程中遇到一个小问题:精简页头 head 标签的时候去掉了一般 WordPress 主题都会用上的一个函数:<?php wp_head(); ?>

该函数主要提供给一些插件使用(官方文档),让插件可以自动在主题模板的页头加载相应的 JS、CSS 等代码。我去掉了这个函数,便造成了 WP-Postviews 插件的统计功能失效。好在已经有人解决了这个问题,原文:关于wp-postview不计数的解决办法,总体来说解决办法很简单,原理是用另外一个函数来代替 wp_head() 所起到的作用(仅针对 WP-Postviews 插件而言):

1、在后台编辑 WP-Postviews 插件的 wp-postviews.php 文件,搜索 wp_head ,可以找到:

add_action('wp_head', 'process_postviews');

将其修改为:

add_action('wp_head_postviews', 'process_postviews');

2、找到 WordPress 目录里的 wp-includes/general-template.php 文件,在其中搜索:wp_head ,可以找到:

function wp_head() {
  do_action('wp_head');
}

在其后添加一下代码:

function wp_head_postviews() {
  do_action('wp_head_postviews');
}

这样我们就增加了一个 wp_head_postviews 的 hook 来调用 WP-Postviews 插件的功能。

3、按照常理来说,此时只需要把 <?php wp_head_postviews(); ?> 放到 head 标签的结尾(</head>)之前即可,但是由于我将主题的 jQuery 库移到到了页脚,所以我就必须把 <?php wp_head_postviews(); ?>  也放在页脚,并且是在 jQuery 库的后面。原因是该插件调用了 jQuery Ajax 来传输数据,必须先加载 jQuery 库,插件才能正常工作。

至此问题圆满解决。 www.toycraft.cn 的页头便优化的非常干净了,除了 keywords、description 以及搜索引擎认证的 meta 之外,再就只有一个全局 CSS 文件。主题必备的 JS 以及所有插件需要加载的内容全部移至页脚,页面整体打开速递还是比较理想的。

« »

已经有1人发表了评论

发表您的看法

TOP COMMENTS BOTTOM