Category: Coding
WordPress Portfolio work with Isotope and Infinite Scroll
准备:需要的jQuery插件 Isotope: 神奇的布局精致的jQuery插件。演示 Infinite Scroll:无限滚动被称为autopagerize的,unpaginate,无尽的网页。但实质上,它是预取从随后出现的页面上的内容,并直接将其添加到用户的当前页面。http://www.infinite-scroll.com/ 演示 新建文章类型 portfolio 和 Portfolio 分类 function my_post_types() { register_post_type(‘portfolio’, array( ‘label’ => __(‘Portfolio’,’itc’), ‘singular_label’ => __(‘Portfolio’, ‘itc’), ‘_builtin’ => false, //’exclude_from_search’ => false, // Exclude from Search Results ‘capability_type’ => ‘post’, ‘public’ => true, ‘show_ui’ => true, ‘show_in_nav_menus’ => FALSE, ‘menu_position’ => 100, ‘rewrite’ => array( ‘slug’ => ‘portfolio-show’, ‘with_front’ => FALSE,…
Get Featured Image with timthumb
$w = ‘350’; $h = ‘200’; if (has_post_thumbnail()) { $large_image_url = wp_get_attachment_image_src(get_post_thumbnail_id(), ‘full’); echo ”; } else { echo ”; }
php 法语字母排序
if($langcode == ‘fr’){ setlocale(LC_COLLATE, ‘fr_CA.utf8’); } ksort($array,SORT_LOCALE_STRING); 法语字幕有声调,往往在默认排序上会有些问题。上面的代码可以解决法语字母排序错误的问题。 同样可以应用于 sort asort 等等
Media, Audio, Video Player for wordpress
function yyy_html5_audio($url) { if (preg_match(‘/Firefox/’, $_SERVER[“HTTP_USER_AGENT”])) { // For religious reasons Firefox does not support MP3 format in HTML5 audio tag, use Flash player instead $embed = ”; } else if (preg_match(‘/Opera/’, $_SERVER[“HTTP_USER_AGENT”])) { // Opera also does not support MP3 format in HTML5 audio tag, use Flash player instead $embed = ”; } else…
修复 next_posts_link & previous_posts_link 与 qTranslate 的兼容问题
If your having problems with qTranslate and the next_posts_link / previous_posts_link & next_post_link / previous_post_link template tags then I recommend dropping the following two functions into your theme’s functions.php file. /*************************************************************** * Function qtranslate_next_previous_fix * Ensure that the URL for next_posts_link & previous_posts_link work with qTranslate ***************************************************************/ add_filter(‘get_pagenum_link’, ‘qtranslate_next_previous_fix’); function qtranslate_next_previous_fix($url) { return qtrans_convertURL($url); }…
Simple jquery horizontal accordion
有时候需要的功能很简单,不需要动不动就几千行的插件,就像这个水平手风琴效果。 html code Freebies Download free files to make your job easier. Tutorials Tips and tricks to help you keep up with the latest technology. Inspiration Get inspired by what other designers are doing. Inspiration Get inspired by what other designers are doing. css dode #horizontal_accordion{ list-style: none; margin: 0 0 0 -2px; padding: 0;…
.htaccess 完全手册
1.时区设置 有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。 [code]SetEnv TZ Australia/Melbourne[/code] 2. 搜索引擎友好的301永久转向方法 为什么这是搜索引擎友好的呢?因为现在很多现代的搜索引擎都有能根据检查301永久转向来更新它现有的记录的功能。
让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。