标签归档: WordPress

WordPress “相关阅读”插件功能增强

本站用到了“相关阅读”插件,在文章尾部显示相关文章的链接,该插件非常实用。但是最近发现一个问题,就是当新的文章发布时,新文章尾部可以关联到已有文章,但是在老文章的相关阅读的列表并没有加入新发布的文章。感觉,应该是发布了新文章后,没有重建整个关联关系。插件本身为了性能考虑,应该只刷新了当前文章的关联信息,而没有刷新其他文章的。下面的代码分析也印证了这一点。

首先需要了解插件的运行流程,这里顺带发一下Yet Another Related Posts Plugin的代码分析。

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.83- 12票) Loading ... Loading ... | 归档目录:建站技术 | 同时打有标签:, |

使用新浪云平台创建WordPress站点

前几天看到新闻,SAE和GAE都先后放出了PHP的支持。昨天看到新浪云的后台技术人员提供了最新版本的WordPress版本的定制版本:WordPress for SAE。以前总有印象,新浪并不是一个技术公司,以前也就用来看看新闻而已。注册了一下新浪云,按照官方的指导安装了一个WordPress,然后从codefine.site/wp-content/uploads同步了主题和插件,居然能完整复制了整个站点。

新浪云还是有一些限制,简单列举一下:

1、不支持php写本地文件;
2、不支持php中直接调用后台脚本;

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 4票) Loading ... Loading ... | 归档目录:建站技术 | 同时打有标签:, , , |

彻底解决WordPress博客垃圾评论的问题

本来这里很少有评论,但是来自日语或者英语的垃圾评论却非常多,可以用wordpress自带的过滤功能禁止其中的完全英语的垃圾评论,但是没有办法禁止日语的,甚至其他各种语言的,在网络上面发现有人使用计算加法作校验的方式来屏蔽来解决。因为垃圾评论都是用“机器人”发出的,他们不可能去分析评论的额外接口。利用wordpress提供的comments的两个回调即可实现。

在网上下载了插件的代码,稍作了修改。

修改步骤:

1、将如下文件解压缩后放到wordpress的如下目录中:$wordpress-root-path\wp-content\plugins,形成$wordpress-root-path\wp-content\plugin\comment_capatcha.php的目录结构。粗体部分替换成你的wordpress安装的根目录。这个过程实际上相当于安装了一个新的插件。

下载链接:http://codefine.site/wp-content/uploads/2013/08/comment_capatcha.zip

这里也把代码贴出来:

<?php

/*
Plugin Name: 简单算术题评论验证码插件
Plugin URI: http://www.utubon.com/wordpress-plugin-comment-capatcha-figure/
Description: 提交评论之前必须写出简单的算术题答案
Version: 1.0
Author: 否子戈
Author URI: http://www.utubon.com
*/

if(!class_exists('comment_capatcha')) {
class comment_capatcha {
function __construct() {
add_action('comment_form', array(& $this, 'print_capatcha'));
add_filter('preprocess_comment', array(& $this, 'preprocess_comment'));
}
function print_capatcha() {
if(!is_user_logged_in()) {
global $post;
session_start();
$rand_1 = mt_rand(1,6);
$rand_2 = mt_rand(1,6);
$_SESSION['capatcha_'.$post->ID] = $rand_1 + $rand_2;

$str = '<div id="capatcha-area"><label>';
$str .= "{$rand_1} + {$rand_2} = ".'<input type="text" size="2" name="capatcha" id="capatcha" />';
$str .= 'Result<span class="required">*</span>';
$str .= '</label></div>';
$str .= '<br>';
echo $str;
}
}
function preprocess_comment($commentdata) {
if(!is_user_logged_in()) {
session_start();
$post_id = isset($_POST['comment_post_ID']) ? $_POST['comment_post_ID'] : 0;
if(!$post_id){
wp_die('数据来源非法。');
}
$capatcha = $_SESSION['capatcha_'.$post_id];
if($capatcha != $_POST['capatcha']){
wp_die( __('请返回后重新输入算数题答案!') );
}
unset($_SESSION['capatcha_'.$post_id]);
}
return $commentdata;
}
}

}

if( !isset($comment_capatcha) ) {
$comment_capatcha =& new comment_capatcha();
}

?>

2、修改算术计算行所放的位置

我的主题默认是放在提交按钮之上,评论内容之后,可以移动到评论内容之前,作如下修改即可:(图片较小,点击后可以在新窗口查看大图)

compare

移动doaction函数的调用点即可修改算术框的位置。

3、到插件管理页面开启插件:简单算术题评论验证码插件

本站修改实现之后的效果为:

modify_posting_commeont

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 归档目录:建站技术 | 同时打有标签: |

WordPress博客添加“返回顶部”按钮

“返回顶部”在网页页面上非常实用。一般主题都没有自带该按钮。可以自己DIY一个。

添加步骤,打开博客的后台管理,依次进入“外观”,“编辑”,打开“footer.php”,在最后一个</div>与</body>之间添加如下代码,注意替换图片地址(斜体部分)以匹配特定主题。

<div id="full" style="width:88px; height:88px; position:fixed; right:0px; 
    bottom:0px; margin-left:0px; margin-bottom:0px; z-index:100; text-align:center; cursor:pointer;">
  <a>
    <img src="http://content.codefine.site/wp-content/themes/thematic/gallery/totop2.png"
    border=0 width="55px" width="55px" alt="返回顶部">
  </a>
</div>
<script type="text/javascript">
  var isie6 = window.XMLHttpRequest ? false: true;
  function newtoponload() {
    var c = document.getElementById("full");
    function b() {
      var a = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
      if (a > 0) {
        if (isie6) {
          c.style.display = "none";
          clearTimeout(window.show);
          window.show = setTimeout(function() {
            var d = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
            if (d > 0) {
              c.style.display = "block";
              c.style.top = (400 + d) + "px"
            }
          },
          300)
        } else {
          c.style.display = "block"
        }
      } else {
        c.style.display = "none"
      }
    }
    if (isie6) {
      c.style.position = "absolute"
    }
    window.onscroll = b;
    b()
  }
  if (window.attachEvent) {
    window.attachEvent("onload", newtoponload)
  } else {
    window.addEventListener("load", newtoponload, false)
  }
  document.getElementById("full").onclick = function() {
    window.scrollTo(0, 0)
  };
</script>

 

本站效果截图:

未命名23

| 1 分2 分3 分4 分5 分 (5.00- 4票) Loading ... Loading ... | 归档目录:建站技术, 移动互联, 软件技术 | 同时打有标签:, |
返回顶部