wordpress的functions基础实用代码整理
点击数: 2093
文章目录
- 这是一篇比较基础的functions收集。
- 那也有些代码是wordpress旧版的,基本上这些代码是基础功能,
- 有需要可以自行去试试看。
- 我挑了一些放上来。
- 一样所有代码都是开启主题的functions.php贴入
- 显示网站后台的设定,开启隐藏的管理特性
- 当你使用这段代码,你可以发现后台的设定,多出一些选单
- 加入自定义jquery
- 这边调用google的jquery库
- 删除WordPress版本号
- 删除垃圾留言评论中的连结
- 设定文章发送到RSS的时间
- 我们发表文章后,发现有错误要修改,但是订阅rss的读者,已经发送出去了,我们可以延迟几分钟
- 限制修改修订版本的数量
- 有时候我们会有修订版,但若不设定,就会无止尽的增加
- 让搜索结果包括[自定义文章类型]
- 有时候我们自己「自定义」了文章类型,那么透过这个方法,可以把字敬意文章类型也在搜寻结果中出现
- 为你的自定义文章类型,为网站主要的RSS提要。
- 删除内置的Wordpress mate box
- 可以自动压缩jpg图片大小
- 开启GZIP压缩
- 删除不需要控制台(后台)项目
- 取消WP预设外观的小工具
这是一篇比较基础的functions收集。
那也有些代码是wordpress旧版的,基本上这些代码是基础功能,
有需要可以自行去试试看。
我挑了一些放上来。
一样所有代码都是开启主题的functions.php贴入
显示网站后台的设定,开启隐藏的管理特性
当你使用这段代码,你可以发现后台的设定,多出一些选单
[cc lang="php"]// CUSTOM ADMIN MENU LINK FOR ALL SETTINGSfunction all_settings_link() {add_options_page(__('All Settings'), __('All Settings'), 'administrator', 'options.php'); }add_action('admin_menu', 'all_settings_link');[/cc]加入自定义jquery
这边调用google的jquery库
[cc lang="php"]// even more smart jquery inclusionadd_action( 'init', 'jquery_register' );// register from google and for footerfunction jquery_register() {if ( !is_admin() ) {wp_deregister_script( 'jquery' );wp_register_script( 'jquery', ( 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' ), false, null, true );wp_enqueue_script( 'jquery' );}}[/cc]删除WordPress版本号
[cc lang="php"]// 删除WordPress版本号function complete_version_removal() {return '';}add_filter('the_generator', 'complete_version_removal');[/cc]删除垃圾留言评论中的连结
[cc lang="php"]//删除垃圾留言评论中的连结// spam & delete links for all versions of wordpressfunction delete_comment_link($id) {if (current_user_can('edit_post')) {echo '|del';echo '|spam';}}[/cc]设定文章发送到RSS的时间
我们发表文章后,发现有错误要修改,但是订阅rss的读者,已经发送出去了,我们可以延迟几分钟
[cc lang="php"]// delay feed update//设定文章发送到RSS的时间< function publish_later_on_feed($where) { global $wpdb; if (is_feed()) { // timestamp in WP-format $now = gmdate('Y-m-d H:i:s'); // value for wait; + device $wait = '10'; // integer // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff $device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR // add SQL-sytax to default $where $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') >$wait ";}return $where;}add_filter('posts_where', 'publish_later_on_feed');[/cc]限制修改修订版本的数量
有时候我们会有修订版,但若不设定,就会无止尽的增加
[cc lang="php"]//限制修改修订版本的数量if (!defined('wp_POST_REVISIONS')) define('wp_POST_REVISIONS', 5);[/cc]让搜索结果包括[自定义文章类型]
有时候我们自己「自定义」了文章类型,那么透过这个方法,可以把字敬意文章类型也在搜寻结果中出现
[cc lang="php"] // 讓搜索結果包括[自定義文章類型] function searchAll( $query ) { if ( $query->is_search ) { $query->set( 'post_type', array( 'site', 'plugin', 'theme', 'person' )); }return $query;}add_filter( 'the_search_query', 'searchAll' );[/cc]为你的自定义文章类型,为网站主要的RSS提要。
[cc lang="php"]// ADD CUSTOM POST TYPES TO THE DEFAULT RSS FEEDfunction custom_feed_request( $vars ) {if (isset($vars['feed']) && !isset($vars['post_type'])) $vars['post_type'] = array( 'post', 'site', 'plugin', 'theme', 'person' );return $vars;}add_filter( 'request', 'custom_feed_request' );[/cc ]删除内置的Wordpress mate box
[cc lang="php"]function remove_post_meta_box() {remove_meta_box('slugdiv', 'post', 'normal');}add_action('admin_menu', 'remove_post_meta_box');[/cc]可以自动压缩jpg图片大小
[cc lang="php"]//可以自动压缩jpg图片大小function ajx_sharpen_resized_files( $resized_file ) {$image = wp_load_image( $resized_file );if ( !is_resource( $image ) )return new wp_Error( 'error_loading_image', $ image, $file );$size = @getimagesize( $resized_file );if ( !$size )return new wp_Error('invalid_image', __('Could not read image size'), $file);list($orig_w, $orig_h, $orig_type) = $size;switch ( $orig_type ) {case IMAGETYPE_JPEG:$matrix = array(array(-1, -1, -1),array(-1, 16, -1),array(- 1, -1, -1),);$divisor = array_sum(array_map('array_sum', $matrix));$offset = 0;imageconvolution($image, $matrix, $divisor, $offset);imagejpeg($ image, $resized_file,apply_filters( 'jpeg_quality', 90, 'edit_image' ));break;case IMAGETYPE_PNG:return $resized_file;case IMAGETYPE_GIF:return $resized_file;}return $resized_file;}add_filter('image_make_intermediate_size', 'ajx_sharpen_resized_files' ,900);[/cc]开启GZIP压缩
- //开启GZIP压缩
- if(extension_loaded("zlib") && (ini_get("output_handler") != "ob_gzhandler"))
- add_action('wp', create_function('', '@ob_end_clean();@ini_set("zlib.output_compression", 1);'));
删除不需要控制台(后台)项目
[cc lang="php"]add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');function my_custom_dashboard_widgets() {global $wp_meta_boxes;//Right Now - Comments, Posts, Pages at a glanceunset($wp_meta_boxes['dashboard'][ 'normal']['core']['dashboard_right_now']);//Recent Commentsunset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);//Incoming Linksunset( $wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);//Plugins - Popular, New and Recently updated WordPress Pluginsunset($wp_meta_boxes['dashboard']['normal'][ 'core']['dashboard_plugins']);//Wordpress Development Blog Feedunset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);//Other WordPress News Feedunset($ wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);//Quick Press Formunset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press' ]);//Recent Drafts Listunset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);}[/c c]取消WP预设外观的小工具
- // unregister all default WP Widgets
- function unregister_default_wp_widgets() {
- unregister_widget('wp_Widget_Pages');
- unregister_widget('wp_Widget_Calendar');
- unregister_widget('wp_Widget_Archives');
- unregister_widget('wp_Widget_Links');
- unregister_widget('wp_Widget_Meta');
- unregister_widget('wp_Widget_Search');
- unregister_widget('wp_Widget_Text');
- unregister_widget('wp_Widget_Categories');
- unregister_widget('wp_Widget_Recent_Posts');
- unregister_widget('wp_Widget_Recent_Comments');
- unregister_widget('wp_Widget_RSS');
- unregister_widget('wp_Widget_Tag_Cloud');
- }
- add_action('widgets_init', 'unregister_default_wp_widgets', 1);