define('WPLANG', 'zh_CN');
define('WP_LANG_DIR', FCPATH.APPPATH.'/language/');
include FCPATH.APPPATH.'/libs/pomo/mo.php';
include FCPATH.APPPATH.'/libs/pomo/l10n.php';
load_default_textdomain();
echo __( 'Sorry, you must be logged in to post a comment.');

把默认的zh_CN.mo文件方到/language目录下就可以了.

不用SQL语句直接获取干净的分类目录

echo "<span><select name='list'>";
foreach(get_all_category_ids() as $v)
{
	$cat_info=get_category($v);
	echo "<option value='".$v."'>".$cat_info->name."</option>";
}
echo '</select></span>';

用代码发布文章

$post = array(
	'ID'=>0,
	'menu_order' =>'',
	'comment_status' =>'open',
	'ping_status' =>'open',
	'pinged' =>'',
	'post_author' =>1,
	'post_category' =>array($cid),
	'post_content' =>$content,
	'post_date' => date("Y-m-d H:i:s"),
	'post_date_gmt' => gmdate("Y-m-d H:i:s"),
	'post_excerpt' => mb_substr($content,0,30,'UTF-8'),
	'post_name' =>trim($title),
	'post_parent' => 0,
	'post_password' =>'',
	'post_status' =>'publish',//Set the status of the new post.
	'post_title' => $title,//The title of your post.
	'post_type' =>'post', custom post type
	'tags_input' =>'', //For tags.
	'to_ping' =>'', //?
	'tax_input' =>'' // support for custom taxonomies.
);
$post_id=wp_insert_post( $post, $wp_error );

1、wordpress自带的AJAX使用

$.post("hostname/wp-admin/admin-ajax.php")
关键参数:data: '&action=get_ciphp_send' action是admin-ajax.php 会执行的方法定义
add_action('wp_ajax_get_ciphp_send', '我是执行的函数' );wp_ajax_是方法的前缀 这样写WP才能找到你定义的方法

2、文件上传

require_once(ABSPATH . 'wp-admin/includes/admin.php');
$id=media_handle_upload('post_image',$post_id);

如果发生错误$id是一个对象,包含错误信息相关的描述
如果上传成功,返回的是附件的ID
成功之后可以用相关获取附件的函数获取对应的信息
$smallSrc=wp_get_attachment_image($imageid[0]);
$imgSrc=wp_get_attachment_url($imageid[0]);
这里主要测试图片附件

add_submenu_page('function_base.php', '菜单标题', '页面标题',
'administrator','ciphp_payway_config','ciphp_payway_config2');
//function_base.php 子菜单增加到哪个父菜单下面
//administrator 什么权限的用户可以使用这个菜单
//ciphp_payway_config 菜单全局唯一名称
//ciphp_payway_config2 菜单支持的函数 如果是.php的文件  直接执行这个文件

如果需要把这个子菜单加载到别的大菜单里面
add_action('admin_menu', 'ciphp_menu',999);//调整加载顺序可以实现

实现任意页面访问:
yourdomain.com/my_page

function my_page()
{
	if(stripos($_SERVER['REQUEST_URI'],'my_page')===false)
	{
		return true;
	}
}
add_action('init','my_page');

不过这样实现的方式效率不咋样,每个页面都会执行

wordpress本来已经有自带的akismet SPAM的处理插件了,一些顽固份子提交的留言每天都一样的,

虽说已经标识为垃圾留言了,但是每次登录后台去删除这些留言也挺累和心烦的,于是就写了这个插件

根据用户提交的昵称、客户端IP地址、URL地址进行过滤,如果用户提交的内容和你设置的内容一致

插件会拒绝用户的提交!下面是插件的截图,也是写的第二个wordpress插件!

Notice: 自 2.0 版本后,has_cap 的一个调用参数已不被建议使用!请换用 插件和主题中,用户等级的使用已不被支持。请换用角色和兼容性

如果你使用的是WP3以上的版本 而且打开了debug模式 很可能遇到这个问题 当然如果你没安装旧版本的插件 应该是遇不到这个问题的。
原因是:add_options_page 这个函数的第三个参数发生了变化,以前的版本是用一个数字,新版本是用字符,权限控制的改版!
具体那些可以使用请看官方的API文档

文档地址:http://codex.wordpress.org/Roles_and_Capabilities#manage_options
能够修改配置文件的角色是:manage_options

E_RECOVERABLE_ERROR

继PHP 5.0增加了一个 E_STRICT的错误报告级别(常量值为 2048)之后,PHP 5.2 也新增了一个错误报告级别:E_RECOVERABLE_ERROR ,

其常量值为 4096 。

wordpress load.php文件检测PHP的配置文件有没有这个类型的,如果有的话遇到这样的错误就显示出来。

通过插件把zlobg的数据导入到wordpress 数据方面还是很顺利,就是在新的空间这里折腾了点时间,数据是从
本地导出的.SQL文件,然后在服务器导入到,大家都知道wp换域名了要改很多地方,然后服务器上LINUX的
上传文件的权限还弄了一会才搞定!不过在新的空间WP读取不到官方的新闻,显示time out还不知道是什么问题
本地是没问题.继续阅读