Author: 迎迎 姚
让Qtranslate 支持 Custom Taxonomy
If you wanted to automatically detect taxonomies, and then add translation edit fields here is some code: 如果你想要自动探测 Custom Taxonomy,然后给他们加上翻译字段, 把这段代码放在主题的 function.php 里。 function qtranslate_edit_taxonomies(){ $args=array( ‘public’ => true , ‘_builtin’ => false ); $output = ‘object’; // or objects $operator = ‘and’; // ‘and’ or ‘or’ $taxonomies = get_taxonomies($args,$output,$operator); if ($taxonomies) { foreach ($taxonomies as…
去除 wordpress 链接中的域名
上次说到去除一些不必需的 class 和 ID, 从上图看出,这些 domain name 似乎也是不必须的,如果像下图: 这样会不会更好呢,下面的代码可以实现这个效果。 add_filter(‘walker_nav_menu_start_el’ , ‘yao_walker_nav_menu_start_el’ , 10 , 2); function yao_walker_nav_menu_start_el($item_output, $item){ //print_r($item); $home_url = home_url(); $site_url = site_url(); preg_match(“/^(http:\/\/)?([^\/]+)/i”,site_url(), $matches); $domain = $matches[0]; if( $domain == $home_url){ $replace = ”; }else{ $replace = str_replace($matches[0], ”, site_url()); } $item->url = str_replace($home_url,$replace,$item->url); $attributes = ! empty( $item->attr_title ) ?…
清理wordpress菜单里的 id 和 class
wordpress 默认的菜单会产生很多 id 和 class 在代码里,打多时候,这些都是不需要的。 通过下面2个滤镜,可以去除那些我们不需要的 class 和 ID add_filter(‘nav_menu_css_class’ , ‘special_nav_class’ , 10 , 2); function special_nav_class($classes, $item){ $current_and_home = array(“current-menu-item”, “menu-item-home”, ‘last’); $classes = array_intersect($item->classes,$current_and_home); //保留有需要的 class return $classes; } add_filter(‘nav_menu_item_id’ , ‘special_nav_item_id’ , 10 , 2); function special_nav_item_id($item_id, $item){ $item_id = “”; //去除 id return $item_id; } 清理之后如: 不过尚有 class=”” 无法除去,主要是在核心代码里,class=””是在附加过滤后面加上得,所以暂时还不可以通过更改滤镜的方法去除,但是…
WordPress 只显示当前用户的文章
当Wordpress在一个多用户的贡献者列表管理页面后,他可以看到不仅是他的文章,但也从其他捐助者的文章。即使他不能编辑其他职位,这仍可能是一个问题,如果有很多文章已经和他有搜索一页一页地找到他的文章。如何只显示他自己的文章?这段代码会显示如何做到这一点。 function mypo_parse_query_useronly( $wp_query ) { if ( strpos( $_SERVER[ ‘REQUEST_URI’ ], ‘/wp-admin/edit.php’ ) !== false ) { if ( !current_user_can( ‘level_10’ ) ) { global $current_user; $wp_query->set( ‘author’, $current_user->id ); } } } add_filter(‘parse_query’, ‘mypo_parse_query_useronly’ ); 放在主题的 functions.php 里。
探测设备系统
Javascript 探测客户设备的操作系统 var deviceAgent = navigator.userAgent.toLowerCase(); var isAndroid = deviceAgent.indexOf(“android”) > -1; //&& ua.indexOf(“mobile”); var iOS = deviceAgent.match(/(iphone|ipod|ipad)/); if (iOS) { document.write(‘iOS’); } else if(isAndroid) { document.write(‘android’); }else { document.write(navigator.platform); } php 探测客户设备的操作系统 //Detect special conditions devices $iPod = stripos($_SERVER[‘HTTP_USER_AGENT’],”iPod”); $iPhone = stripos($_SERVER[‘HTTP_USER_AGENT’],”iPhone”); $iPad = stripos($_SERVER[‘HTTP_USER_AGENT’],”iPad”); if(stripos($_SERVER[‘HTTP_USER_AGENT’],”Android”) && stripos($_SERVER[‘HTTP_USER_AGENT’],”mobile”)){ $Android = true; }else if(stripos($_SERVER[‘HTTP_USER_AGENT’],”Android”)){ $Android…
关闭 WordPress 自动更新
实际上这是个插件叫 Disable Updates,但是想就这点代码直接写在主题的功能文件里倒来得更加方便: [code] // Hides all upgrade notices add_action(‘admin_menu’,’hide_admin_notices’); function hide_admin_notices() { remove_action( ‘admin_notices’, ‘update_nag’, 3 ); } // Remove the ‘Updates’ menu item from the admin interface add_action(‘admin_menu’, ‘remove_menus’, 102); function remove_menus() { global $submenu; remove_submenu_page ( ‘index.php’, ‘update-core.php’ ); } // Disable core updates remove_action( ‘load-update-core.php’, ‘wp_update_core’ ); add_filter( ‘pre_site_transient_update_core’, create_function( ‘$a’, “return…
WordPress Upload New Media “HTTP error”
版本是 3.2.1 在原本的服务器上运行无错,移植到新的服务器就有这个问题,大概就是服务器配置的缘故了。 官方上也相关的文章。http://wordpress.org/support/topic/25-imagemedia-uploader-problems 是apache Mod_Security 的缘故。如果你能够修改你服务器的httpd.conf文件的话,删除里面关于mod_security部分就可以了。不过多数wordpress玩家是没有权限修改这个文件的,那就只好修改.htaccess文件了。在.htaccess文件里面加上一行: SecFilterEngine Off SecFilterScanPOST Off 这样就可以关闭 Mod_Security。
PHP数据类型转换
PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: (int)、(integer):转换成整形 (float)、(double)、(real):转换成浮点型 (string):转换成字符串 (bool)、(boolean):转换成布尔类型 (array):转换成数组 (object):转换成对象 PHP数据类型有三种转换方式: 在要转换的变量之前加上用括号括起来的目标类型 使用3个具体类型的转换函数,intval()、floatval()、strval() 使用通用类型转换函数settype(mixed var,string type) 第一种转换方式: (int) (bool) (float) (string) (array) (object) <?php $num1=3.14; $num2=(int)$num1; var_dump($num1); //输出float(3.14) var_dump($num2); //输出int(3) ?> 第二种转换方式: intval() floatval() strval() <?php $str=”123.9abc”; $int=intval($str); //转换后数值:123 $float=floatval($str); //转换后数值:123.9 $str=strval($float); //转换后字符串:”123.9″ ?> 第三种转换方式: settype(); <?php $num4=12.8; $flg=settype($num4,”int”); var_dump($flg); //输出bool(true) var_dump($num4); //输出int(12) ?> from:http://banu.blog.163.com/blog/static/231464820101122114438674/