__('顶部菜单'), 'header-nav' => __('电脑端导航'), 'm-nav' => __('手机端导航'), 'footer-nav' => __('底部导航'), )); } add_action( 'init', 'Bind_register_nav_menus' ); ## 分类目录选择分类模板 class Select_Category_Template { public function __construct() { add_filter('category_template', array($this,'get_custom_category_template' )); add_action('edit_category_form_fields', array($this,'category_template_meta_box')); add_action('category_add_form_fields', array( &$this, 'category_template_meta_box')); add_action('created_category', array( &$this, 'save_category_template' )); add_action('edited_category', array($this,'save_category_template')); do_action('Custom_Category_Template_constructor', $this); } public function category_template_meta_box($tag) { $t_id = $tag->term_id; $cat_meta = get_option("category_templates"); $template = isset($cat_meta[$t_id]) ? $cat_meta[$t_id] : false; ?>
flush_rules(); } register_deactivation_hook(__FILE__, 'no_category_base_deactivate'); function no_category_base_deactivate() { remove_filter('category_rewrite_rules', 'no_category_base_rewrite_rules'); no_category_base_refresh_rules(); } add_action('init', 'no_category_base_permastruct'); function no_category_base_permastruct() { global $wp_rewrite, $wp_version; if (version_compare($wp_version, '3.4', '<')) { $wp_rewrite -> extra_permastructs['category'][0] = '%category%'; } else { $wp_rewrite -> extra_permastructs['category']['struct'] = '%category%'; } } add_filter('category_rewrite_rules', 'no_category_base_rewrite_rules'); function no_category_base_rewrite_rules($category_rewrite) { $category_rewrite = array(); $categories = get_categories(array('hide_empty' => false)); foreach ($categories as $category) { $category_nicename = $category -> slug; if ($category -> parent == $category -> cat_ID) {// recursive recursion $category -> parent = 0; } elseif ($category -> parent != 0) { $category_nicename = get_category_parents($category -> parent, false, '/', true) . $category_nicename; } $category_rewrite['(' . $category_nicename . ')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]'; $category_rewrite['(' . $category_nicename . ')/page/?([0-9]{1,})/?$'] = 'index.php?category_name=$matches[1]&paged=$matches[2]'; $category_rewrite['(' . $category_nicename . ')/?$'] = 'index.php?category_name=$matches[1]'; } global $wp_rewrite; $old_category_base = get_option('category_base') ? get_option('category_base') : 'category'; $old_category_base = trim($old_category_base, '/'); $category_rewrite[$old_category_base . '/(.*)$'] = 'index.php?category_redirect=$matches[1]'; return $category_rewrite; } add_filter('query_vars', 'no_category_base_query_vars'); function no_category_base_query_vars($public_query_vars) { $public_query_vars[] = 'category_redirect'; return $public_query_vars; } add_filter('request', 'no_category_base_request'); function no_category_base_request($query_vars) { if (isset($query_vars['category_redirect'])) { $catlink = trailingslashit(get_option('home')) . user_trailingslashit($query_vars['category_redirect'], 'category'); status_header(301); header("Location: $catlink"); exit(); } return $query_vars; } ## 增加文章模板功能 该代码 针对 4.7下兼容处理 function makewp_exclude_page_templates($post_templates) { if (version_compare($GLOBALS['wp_version'], '4.7', '<')) { unset($post_templates['templates/my-full-width-post-template.php']); } return $post_templates; } add_filter('theme_page_templates', 'makewp_exclude_page_templates'); ## 分页功能 $range 默认最大页码 默认获取后台设置分页数 function get_pagenavi($range = 4) { global $paged,$wp_query; if (!$max_page) { $max_page = $wp_query->max_num_pages; } if ($max_page >1) { if (!$paged) { $paged = 1; } echo "
  • "; previous_posts_link('<'); echo"
  • "; if ($max_page >$range) { if ($paged <$range) { for ($i = 1; $i <= ($range +1); $i++) { echo "
  • $i
  • "; } } elseif ($paged >= ($max_page -ceil(($range/2)))) { for ($i = $max_page -$range;$i <= $max_page;$i++) { echo "
  • $i
  • "; } } elseif ($paged >= $range &&$paged <($max_page -ceil(($range/2)))) { for ($i = ($paged -ceil($range/2));$i <= ($paged +ceil(($range/2)));$i++) { echo "
  • $i
  • "; } } } else { for ($i = 1;$i <= $max_page;$i++) { echo "
  • $i
  • "; } } echo "
  • "; next_posts_link('>'); echo"
  • "; // echo '
  • 共'.$max_page.'页
  • '; } } //获取顶级分类ID 配合面包屑导航使用 function salong_category_top_parent_id ($current_cat_ID) { while ($current_cat_ID) { $cat = get_category($current_cat_ID); $current_cat_ID = $cat->category_parent; $catParent = $cat->cat_ID; } return $catParent; } function get_category_root_id($cat) { $this_category = get_category($cat); while($this_category->category_parent) { $this_category = get_category($this_category->category_parent); } return $this_category->term_id; } /* 获取和设置文章浏览数 */ function getPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if (is_single()) { if ($count == '') { add_post_meta($postID, $count_key, 1); return 1; } else { $count ++; update_post_meta($postID, $count_key, $count); } } return empty($count) ? 0 : $count; } // 修改后台logo function custom_loginlogo() { $first_img = get_template_directory_uri().'/images/logo.png'; echo ''; } add_action('login_head', 'custom_loginlogo'); // 分页 function powerxing_custom_posts_per_page( $query ) { // 为特定分类指定显示数量,键为分类别名(可在后台的分类目录中查看),值为显示数量 $ppp = array( // 比如为分类 notes 和 gallery 设置不同的显示数量 'news' =>6, ); if ( $query->is_category() && $query->is_main_query() ) { // 获取当前分类别名 $slug = $query->query_vars['category_name']; if ( array_key_exists($slug, $ppp) ) { $query->set( 'posts_per_page', $ppp[$slug] ); } } } add_action('pre_get_posts', 'powerxing_custom_posts_per_page'); function custom_posts_per_page($query){ if( is_category('wordpress-themes') && $query->is_main_query() ) { $query->set('posts_per_page', 20); } } add_action('pre_get_posts', 'custom_posts_per_page'); /*阅读次数*/ function get_post_views ($post_id) { $count_key = 'views'; $count = get_post_meta($post_id, $count_key, true); if ($count == '') { delete_post_meta($post_id, $count_key); add_post_meta($post_id, $count_key, '0'); $count = '0'; } echo number_format_i18n($count); } function set_post_views () { global $post; $post_id = $post -> ID; $count_key = 'views'; $count = get_post_meta($post_id, $count_key, true); if (is_single() || is_page()) { if ($count == '') { delete_post_meta($post_id, $count_key); add_post_meta($post_id, $count_key, '0'); } else { update_post_meta($post_id, $count_key, $count + 1); } } } add_action('get_header', 'set_post_views'); // //屏蔽wordpress后台(仪表盘)顶部logo // function annointed_admin_bar_remove() { // global $wp_admin_bar; // /* Remove their stuff */ // $wp_admin_bar->remove_menu('wp-logo'); // } // add_action('wp_before_admin_bar_render', 'annointed_admin_bar_remove', 0); // // //移除后台“显示选项”和“帮助”选项卡 // function remove_screen_options(){ return false;} // add_filter('screen_options_show_screen', 'remove_screen_options'); // add_filter( 'contextual_help', 'wpse50723_remove_help', 999, 3 ); // function wpse50723_remove_help($old_help, $screen_id, $screen){ // $screen->remove_help_tabs(); // return $old_help; // } // // // function remove_menus() { // global $menu; // $restricted = array(__('Dashboard'), __('Comments'), __('Plugins'));//__('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), // end ($menu); // while (prev($menu)){ // $value = explode(' ',$menu[key($menu)][0]); // if(strpos($value[0], '<') === FALSE) { // if(in_array($value[0] != NULL ? $value[0]:"" , $restricted)){ // unset($menu[key($menu)]); // } // } // else { // $value2 = explode('<', $value[0]); // if(in_array($value2[0] != NULL ? $value2[0]:"" , $restricted)){ // unset($menu[key($menu)]); // } // } // } // } // // function remove_submenu() { // // 删除”工具”下面的子菜单”导出” // remove_submenu_page('themes.php', 'themes.php'); // } // // if ( is_admin() ) { // // 删除左侧菜单 // add_action('admin_menu', 'remove_menus'); // // //删除子菜单 // add_action('admin_init','remove_submenu'); // } // // add_filter('pre_site_transient_update_core', create_function('$a', "return null;")); // 关闭核心提示 // add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;")); // 关闭插件提示 // add_filter('pre_site_transient_update_themes', create_function('$a', "return null;")); // 关闭主题提示 // remove_action('admin_init', '_maybe_update_core'); // 禁止 WordPress 检查更新 // remove_action('admin_init', '_maybe_update_plugins'); // 禁止 WordPress 更新插件 // remove_action('admin_init', '_maybe_update_themes'); // 禁止 WordPress 更新主题 add_filter('upload_mimes', 'wpjam_upload_mimes'); function wpjam_upload_mimes($mimes = array()) { $mimes['svg'] = 'image/svg+xml'; return $mimes; } add_action('optionsframework_custom_scripts', 'optionsframework_custom_scripts'); function optionsframework_custom_scripts(){ }