wordpress的functions基础实用代码整理

这是一篇比较基础的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压缩
  1. //开启GZIP压缩
  2.    if(extension_loaded("zlib") && (ini_get("output_handler") != "ob_gzhandler"))
  3.        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预设外观的小工具
  1. // unregister all default WP Widgets
  2. function unregister_default_wp_widgets() {
  3. unregister_widget('wp_Widget_Pages');
  4. unregister_widget('wp_Widget_Calendar');
  5. unregister_widget('wp_Widget_Archives');
  6. unregister_widget('wp_Widget_Links');
  7. unregister_widget('wp_Widget_Meta');
  8. unregister_widget('wp_Widget_Search');
  9. unregister_widget('wp_Widget_Text');
  10. unregister_widget('wp_Widget_Categories');
  11. unregister_widget('wp_Widget_Recent_Posts');
  12. unregister_widget('wp_Widget_Recent_Comments');
  13. unregister_widget('wp_Widget_RSS');
  14. unregister_widget('wp_Widget_Tag_Cloud');
  15. }
  16. add_action('widgets_init', 'unregister_default_wp_widgets', 1);

评论 (0)

此处尚未发表评论

留言

  1. 以游客身份发表评论。注册登入到您的帐户。
附件 (0/ 3)
分享您的位置