记录日常点点滴滴,欢迎来到我的小站。

0%

在PHP5.3.3 中安装wordpress 3.9 ,在安装时出现错误:Strict Standards: PHP Strict Standards: Declaration of Walker…..的解决办法:

出现错误提示:Strict Standards: PHP Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with that of Walker::start_lvl() in E:\Webroot\wordpress\wp-includes\classes.php on line 1199 PHP Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with that of Walker::end_lvl() in E:\Webroot\wordpress\wp-includes\classes.php on line 1199 PHP Strict ……..
错误原因:
这是由于 php 5.3版本后。要求继承类必须在父类之后定义。否则就会出现Strict Standards: PHP Strict Standards: Declaration of …. should be compatible with that of …. 的错误提示。也就是说必须父类在前,继承类在后。
错误参考页面。bugs点php点net/bug.php?id=46851 (不能发表带链接的网址) 上面清楚地解释了出现此类错误的具体原因。
解决办法:在wordpress3.0.1 文件中,找到 wp-admin\setup-config.php 文件。在require_once('../wp-includes/compat.php'); 上面添加一句:
error_reporting(E_ALL & ~(E_STRICT | E_NOTICE));
问题解决。
这句话的意思是错误报告设置:显示所有错误,但是除了严格错检查或者错误报告。也就是说PHP5.3.3 不执行严格错误检查。也不显示错误提示。跳过严格错误检查。

WordPress自带的搜索功能其实比Google自定义搜索更加智能,尤其是文章内链比较多的博客。但是使用Google自定义搜索可以减少WordPress数据库的查询,对于共享主机来说好处也是明显的。当然,Google自定义搜索的内容也受制于Google对WordPress的收录情况。

第一步:整合 Google 自定义搜索之前肯定必须要先让 Google 为你服务,通过访问 http://www.google.com/cse/ 创建你的搜索引擎。创建完毕后进入“外观”面板,选择“全宽”的布局模式。保存后进入“获取代码”,获得你的 Google 自定义搜索代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- Put the following javascript before the closing </head> tag. -->
<script>
(function() {
var cx = '015818537936328944739:nkbsvpppu5k';
var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();
</script>

<!-- Place this tag where you want both of the search box and the search results to render -->
<gcse:search></gcse:search>
阅读全文 »

今天在网上找了半天,都没有找到比较好的关于如何升级wordpress的教程,终于费了九牛二虎之力,终于把自己的博客升级了,下面就写一下关于如何手动升级wordpress的教程。

手动升级wordpress教程分以下五步战略:

1、备份wordpress资料,特别建议,为安全起见。(本人升级的时候没有备份资料,但是把数据库备份了,关于如何备份可以看我的博客介绍。)

2、下载最新版的wordpress 4.7,当然你也可以去wordpress官网去下载。

3、删除主机上的wp-includes和wp-admin目录。

4、把解压在本地电脑的wordpress文件夹中除了wp-content目录外的所有文件都上传并覆盖到你博客主机相对应的位置。遇到是否覆盖时,选择全部覆盖就是了。

5、运行http://你的博客地址/wp-admin/upgrade.php,执行升级。

好了,按照以上方法,保证完全成功手动升级wordpress

在WordPress博客里,有三个名词估计很多博友都不是很了解,也有博友经常性的使用这些功能,或许也有每次只是一眼带过的而已。其实Ping、Pingback、Trackback这三个名词,分别代表通知、引用与参照,虽然短短六个字就可以解释这三个词的大意,不过还是要详细来了解一下,毕竟现在多数的个人博客或企业网站都是以WordPress型态出现,这三个功能是非常容易被用到的。(Ping、Pingback、Trackback 在百度百科的解释)

Ping、Pingback、Trackback这三者在一般博客系统上是一定会出现的,不论使用Zblog或WordPress,通常都会有这样的功能,Ping算是功能导向,Pingback简单说就是引用、Trackback则是参照告知。Ping的这部分,还可以主动通知一些服务器来收录你网站刚刚发表的新内容,WordPress后台就可以添加你需要通知的服务器。这三个功能,除了体现自身的功能外,也能增加曝光率。

接下来,给大家讲解一下Ping、Pingback、Trackback这三者之间的定义和区别吧。

阅读全文 »

在应用主题或添加某项功能时,我们可能会因为缺少某些函数而导致网站出现致命错误,大都数情况是没有安装某些插件而导致的函数缺失。下面我们以使用插件“WP-UserAgent”为例进行说明,此插件功能就是显示回复者的浏览器及系统信息,如果要自定义此信息的显示位置,那么需要调用函数:

1
<?php useragent_output_custom(); ?>

本主题是在functions.php评论回复处调用(显示在评论者的名称链接之后):

1
<div><strong><?php comment_author_link() ?></strong> <?php useragent_output_custom(); ?> <?php edit_comment_link('编辑','&nbsp;&nbsp;',''); ?></div>
阅读全文 »

JSON API允许您使用HTTP请求来检索和操作WordPress的内容。有三个主要功能:

  1. 提供了一个简单,一致的外部接口
  2. 创造一个稳定的,可以理解的内部实现
  3. 为WordPress启用新类型的扩展
    这个插件被创造在博客网志内/输出,这是从供应的Ruby on Rails。而不是重新实现网站模板作为一个WordPress主题,我们选择了一个Rails前端,显示内容服务从一个WordPress的后端。 JSON API提供必要的接口来检索内容和接受意见的意见书。

以上为元JSON API的介绍。

这里主要是修正了一下,JSON API 生成出来的JSON,无法通过JSON格式认证的问题。
如果你的wordpress博客里用到了如 div

等htmlcode。你们会发现 JSON API所生成出来的JSON文件将不能通过格式认证。
如有此问题的朋友可以下载以下插件来解决。

链接: https://pan.baidu.com/s/1swedkdvrHP06ECoWZC7RZQ 提取码: caiv 复制这段内容后打开百度网盘手机App,操作更方便哦

最近给一个英文站做泰语,突然发现泰国的日期格式和世界通用格式不同,比如说

2003年, 泰国则是2546年,所以根据wordpress泰语的日期plugin制作了一下内容,放置在

网站使用模板的function中即可实现此功能。代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function pp_thai_date($text) {

$eng = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday',
'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun',
'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December',
'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec',
'1st', '2nd', '3rd', '4th', '5th', '6th', '7th', '8th', '9th', '0th',
'2003','2004','2005','2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017');// &#3617;&#3637;&#3611;&#3633;&#3597;&#3627;&#3634;&#3607;&#3637;&#3656; May &#3585;&#3633;&#3610; &#3614;&#3620;&#3625;&#3616;&#3634;&#3588;&#3617;

$thai = array('&#3592;&#3633;&#3609;&#3607;&#3619;&#3660;','&#3629;&#3633;&#3591;&#3588;&#3634;&#3619;','&#3614;&#3640;&#3608;','&#3614;&#3620;&#3627;&#3633;&#3626;&#3610;&#3604;&#3637;','&#3624;&#3640;&#3585;&#3619;&#3660;','&#3648;&#3626;&#3634;&#3619;&#3660;','&#3629;&#3634;&#3607;&#3636;&#3605;&#3618;&#3660;',
'&#3592;', '&#3629;', '&#3614;', '&#3614;&#3620;', '&#3624;', '&#3626;', '&#3629;&#3634;',
'&#3617;&#3585;&#3619;&#3634;&#3588;&#3617;','&#3585;&#3640;&#3617;&#3616;&#3634;&#3614;&#3633;&#3609;&#3608;&#3660;','&#3617;&#3637;&#3609;&#3634;&#3588;&#3617;','&#3648;&#3617;&#3625;&#3634;&#3618;&#3609;','&#3614;&#3620;&#3625;&#3616;&#3634;&#3588;&#3617;','&#3617;&#3636;&#3606;&#3640;&#3609;&#3634;&#3618;&#3609;','&#3585;&#3619;&#3585;&#3599;&#3634;&#3588;&#3617;','&#3626;&#3636;&#3591;&#3627;&#3634;&#3588;&#3617;','&#3585;&#3633;&#3609;&#3618;&#3634;&#3618;&#3609;','&#3605;&#3640;&#3621;&#3634;&#3588;&#3617;','&#3614;&#3620;&#3624;&#3592;&#3636;&#3585;&#3634;&#3618;&#3609;','&#3608;&#3633;&#3609;&#3623;&#3634;&#3588;&#3617;',
'&#3617;.&#3588;.', '&#3585;.&#3614;.', '&#3617;&#3637;.&#3588;.', '&#3648;&#3617;.&#3625;.', '&#3614;.&#3588;.', '&#3617;&#3636;.&#3618;.', '&#3585;.&#3588;.', '&#3626;.&#3588;.', '&#3585;.&#3618;.', '&#3605;.&#3588;.', '&#3614;.&#3618;.', '&#3608;.&#3588;.',
'1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
'2546','2547','2548','2549','2550','2551','2552','2553','2554','2555','2556','2557','2558','2559','2560');

$text = str_replace($eng, $thai, $text);
return $text;
}

add_filter('the_time', 'pp_thai_date');
add_filter('the_modified_time', 'pp_thai_date');
add_filter('the_date', 'pp_thai_date');
add_filter('the_modified_date', 'pp_thai_date');
add_filter('get_comment_date','pp_thai_date');

在WordPress主题或者插件开发的过程中,经常要遇到判断登录用户的角色,并根据不同的用户角色赋予不同的权限。
下面是一下常用的判断方法。

一、使用 current_user_can() 判断

1
2
3
4
5
current_user_can() 可以根据不同角色拥有的权限来判断用户角色,具体的用户权限,可以在Roles and Capabilities 中找到。
判断用户是否为管理员(Administrator)
if( current_user_can( 'manage_options' ) ) {
echo 'The current user is a administrator';
}
阅读全文 »

WordPress 在 2.0 版本中引入了角色和权限(Roles and Capabilities)系统,以前的用户等级的方法(User Levels)已经被弃用。但是还是有很多插件和主题仍然使用用户级别的方法来控制用户查看设置页面和其他功能。所以这篇指南将详细介绍 WordPress 的角色和权限系统,最终将让你在你的插件和主题中能够正确使用。

什么是角色和权限?

和其他 CMS 或者 Web 程序一样,WordPress 也有一个内置的系统来验证一个特定的用户是否有足够的权限来进行某种动作。WordPress 这个内置的系统就是角色和权限系统,它首先将用户分为角色(Role),然后给每个角色都分配一定的权限。

下面是 WordPress 默认的用户角色:

  • 管理员 -拥有所有的管理权限
  • 编辑 -发表文章,编辑文章,以及编辑其他人的文章,等等。
  • 作者-发布和编辑自己的文章
  • 投稿者 -撰写和编辑自己的文章,但不能发布
  • 订阅者 -查看评论/添加评论/查看文章,等等。
    阅读全文 »