标签:更改 改变 ajax base64 添加 current $_server tac min()
1.//后台登录限制
add_action( ‘init‘, ‘blockusers_init‘ );
function blockusers_init() {
// If accessing the admin panel and not an admin
if ( (is_admin() && !stripos($_SERVER[‘REQUEST_URI‘],‘media-upload.php‘)) && is_user_logged_in() && !current_user_can(‘level_10‘) && (!defined( ‘DOING_AJAX‘ ) || !DOING_AJAX) ) {
// Redirect to the homepage
wp_redirect( home_url() );
exit;
}
}
说明:
media-upload.php 针对文件上传,DOING_AJAX针对 ajax调用!
2.角色名称修改
function keshop_change_role_name() { global $wp_roles , $current_user; $role = $current_user->roles[0]; if (!isset($wp_roles)) { $wp_roles = new WP_Roles(); } $wp_roles->roles[‘subscriber‘][‘name‘] = ‘会员‘; $wp_roles->role_names[‘subscriber‘] = ‘会员‘; $wp_roles->roles[‘author‘][‘name‘] = ‘市级会员‘; $wp_roles->role_names[‘author‘] = ‘市级会员‘; $wp_roles->roles[‘editor‘][‘name‘] = ‘省级会员‘; $wp_roles->role_names[‘editor‘] = ‘省级会员‘; } add_action(‘init‘, ‘keshop_change_role_name‘);
只是针对显示名称。
3.默认文章类型的相关字段的更改
function change_post_menu_label() {
global $menu;
global $submenu;
$menu[5][0] = ‘新闻‘;
$submenu[‘edit.php‘][5][0] = ‘新闻‘;
$submenu[‘edit.php‘][10][0] = ‘添加新闻‘;
$submenu[‘edit.php‘][15][0] = ‘分类‘; // Change name for categories
$submenu[‘edit.php‘][16][0] = ‘标签‘; // Change name for tags
echo ‘‘;
}
function change_post_object_label() {
global $wp_post_types;
$labels = &$wp_post_types[‘post‘]->labels;
$labels->name = ‘新闻‘;
$labels->singular_name = ‘新闻‘;
$labels->add_new = ‘添加新闻‘;
$labels->add_new_item = ‘添加新闻‘;
$labels->edit_item = ‘编辑新闻‘;
$labels->new_item = ‘新闻‘;
$labels->view_item = ‘查看新闻‘;
$labels->search_items = ‘搜索新闻‘;
$labels->not_found = ‘未发现‘;
$labels->not_found_in_trash = ‘回收站为空‘;
}
add_action( ‘init‘, ‘change_post_object_label‘ );
add_action( ‘admin_menu‘, ‘change_post_menu_label‘ );
4.自定义筛选,字段值存的是数组,会被自动序列化。
‘meta_query‘ => array(
array(
‘key‘ => ‘user_select‘,
‘value‘=> serialize(strval($userid)),
‘compare‘=> ‘LIKE‘
)
5.图片上传存以附件
require_once(ABSPATH . "wp-admin" . ‘/includes/image.php‘);
require_once(ABSPATH . "wp-admin" . ‘/includes/file.php‘);
require_once(ABSPATH . "wp-admin" . ‘/includes/media.php‘);
$useravatar = media_handle_upload(‘newavatar‘,0);
6.图片数据为base64位上传
$upload_dir = wp_upload_dir();
$imagedata = base64_decode($_POST[‘imgdata‘]);
// $filename = md5(uniqid(rand(), true));
$filename = $userid;
$file = $upload_dir[‘basedir‘] . ‘/photos/‘.$filename.‘.png‘;
$imageurl = $upload_dir[‘baseurl‘].‘/photos/‘.$filename.‘.png‘;
file_put_contents($file,$imagedata);
/*attac user*/
// The ID of the post this attachment is for.
$parent_post_id = 0;
// Check the type of file. We‘ll use this as the ‘post_mime_type‘.
$filetype = wp_check_filetype( basename( $file ), null );
// Get the path to the upload directory.
$wp_upload_dir = wp_upload_dir();
$attachment = array(
‘guid‘ => $imageurl,
‘post_mime_type‘ => $filetype[‘type‘],
‘post_title‘ => preg_replace( ‘/\.[^.]+$/‘, ‘‘, basename( $file ) ),
‘post_content‘ => ‘‘,
‘post_status‘ => ‘inherit‘
);
$attach_id = wp_insert_attachment( $attachment, $file, $parent_post_id );
update_user_meta($userid , ‘newavatar‘ ,$attach_id);
7.正则图片提取
//content 正则提取图片
function get_img_src($string){
$preg = ‘/<img.*?src=[\"|\‘]?(.*?)[\"|\‘]?\s.*?>/i‘;
preg_match_all($preg, $string, $imgArr);
return $imgArr;
}
$imgs = get_img_src($meeting_img_stirng);
$pattern =‘/(alt|title|src)=("[^"]*")/i‘;
preg_match_all($pattern,$meeting_img_stirng,$match);
8.邮件发送参考
$email = get_option(‘admin_email‘); $headers = array(‘Content-Type: text/html; charset=UTF-8‘); wp_mail($email,$subject="思域留言邮件通知",$content,$headers); $headers[] = ‘Content-Type: text/html; charset=UTF-8‘; $headers[] = ‘From: Me Myself <me@example.net>‘; wp_mail($email,$subject="密码找回",$content,$headers);
9.人性化时间显示
//显示几秒几分前
function timeFormat($timeInt,$format=‘Y-m-d H:i:s‘){
if(empty($timeInt)||!is_numeric($timeInt)||!$timeInt){
return ‘‘;
}
$d=time()-$timeInt;
if($d<0){
return ‘‘;
}else{
if($d<60){
return $d.‘秒前‘;
}else{
if($d<3600){
return floor($d/60).‘分钟前‘;
}else{
if($d<86400){
return floor($d/3600).‘小时前‘;
}else{
if($d<259200){//3天内
return floor($d/86400).‘天前‘;
}else{
return date($format,$timeInt);
}
}
}
}
}
}
10.代码过滤
function uhtml($str)
{
$farr = array(
"/\s+/", //过滤多余空白
//过滤 <script>等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object>的过滤
"/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU",
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",//过滤javascript的on事件
);
$tarr = array(
" ",
"<\1\2\3>",//如果要直接清除不安全的标签,这里可以留空
"\1\2",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}
标签:更改 改变 ajax base64 添加 current $_server tac min()
原文地址:http://www.cnblogs.com/lc-hj/p/8007306.html