[WordPress技术] wordpress模板主题仿站functions.php常用功能与常用插件

[复制链接]
查看: 336|回复: 0

8

主题

8

帖子

36

积分

新手上路

Rank: 1

积分
36
发表于 2022-8-16 15:00:52 | 显示全部楼层 |阅读模式
1、wordpress模板主题仿站常用functions.php功能注册开启
  1. <?php
  2. add_filter('pre_site_transient_update_core',    create_function('$a', "return null;")); // 关闭核心提示

  3. add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;")); // 关闭插件提示

  4. add_filter('pre_site_transient_update_themes',  create_function('$a', "return null;")); // 关闭主题提示

  5. remove_action('admin_init', '_maybe_update_core');    // 禁止 WordPress 检查更新

  6. remove_action('admin_init', '_maybe_update_plugins'); // 禁止 WordPress 更新插件

  7. remove_action('admin_init', '_maybe_update_themes');  // 禁止 WordPress 更新主题

  8. //注册一个小工具
  9. register_sidebar(
  10.         array(
  11.                 'name'              => '侧边栏',
  12.                 'before_widget'     => '<div class="sbox">',
  13.                 'after_widget'      => '</div>',
  14.                 'before_title'      => '<h2>',
  15.                 'after_title'       => '</h2>'
  16.         )
  17. );

  18. //删除wp-nav-menu函数菜单中多余的css选择器
  19. add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1);
  20. add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1);
  21. add_filter('page_css_class', 'my_css_attributes_filter', 100, 1);
  22. function my_css_attributes_filter($var) {
  23.         return is_array($var) ? array() : '';
  24. }

  25. //移除后台用不到的菜单
  26. function yg_remove_menu_page() {
  27.   //remove_menu_page('themes.php');  // 移除 "外观"
  28.   //remove_menu_page('plugins.php'); // 移除 "插件"
  29.   //remove_menu_page('tools.php');   // 移除 "工具"

  30.   remove_submenu_page('tools.php','export.php'); //移除工具下的导出

  31. }
  32. add_action( 'admin_menu', 'yg_remove_menu_page' );



  33. //开启wordpress友情链接管理
  34. add_filter( 'pre_option_link_manager_enabled', '__return_true' );
  35. //开启wordpress特色图片
  36. add_theme_support( 'post-thumbnails' );



  37. //WordPress子分类页面使用父页面模板
  38. add_filter('category_template', 'f_category_template');
  39. function f_category_template($template){
  40.         $category = get_queried_object();
  41.         if($category->parent !='0'){
  42.                 while($category->parent !='0'){
  43.                         $category = get_category($category->parent);
  44.                 }
  45.         }
  46.        
  47.         $templates = array();

  48.         if ( $category ) {
  49.                 $templates[] = "category-{$category->slug}.php";
  50.                 $templates[] = "category-{$category->term_id}.php";
  51.         }
  52.         $templates[] = 'category.php';
  53.         return locate_template( $templates );
  54. }



  55. /**分页   前端调用 <?php kriesi_pagination($query_string); **/
  56. function kriesi_pagination($query_string){
  57. global $posts_per_page, $paged;
  58. $my_query = new WP_Query($query_string ."&posts_per_page=-1");
  59. $total_posts = $my_query->post_count;
  60. if(empty($paged))$paged = 1;
  61. $prev = $paged - 1;
  62. $next = $paged + 1;
  63. $range = 2; // only edit this if you want to show more page-links
  64. $showitems = ($range * 2)+1;
  65. $pages = ceil($total_posts/$posts_per_page);
  66. if(1 != $pages){
  67. echo "<div class='pagination'>";
  68. echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? "<a href='".get_pagenum_link(1)."' rel='external nofollow'>最前</a>":"";
  69. echo ($paged > 1 && $showitems < $pages)? "<a href='".get_pagenum_link($prev)."' rel='external nofollow'>上一页</a>":"";
  70. for ($i=1; $i <= $pages; $i++){
  71. if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
  72. echo ($paged == $i)? "<a href='".get_pagenum_link($i)."' class='current'>".$i."</a>":"<a href='".get_pagenum_link($i)."' class='inactive' rel='external nofollow'>".$i."</a>";
  73. }
  74. }
  75. echo ($paged < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($next)."' rel='external nofollow'>下一页</a>" :"";
  76. echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? "<a href='".get_pagenum_link($pages)."' rel='external nofollow'>最后</a>":"";
  77. echo "</div>\n";
  78. }
  79. }

  80. //面包屑
  81. function wz(){
  82. $cat=get_the_category();
  83. $cat=$cat[0];
  84. $positions = '<li><a href="'.get_category_link($cat).'">'.$cat->name. '</a></li>>';
  85. if(!is_home() ){
  86.         echo '<li><a href="'. get_settings('home') .'">'. '首页></a></li>';  
  87. if(is_category()){
  88.         echo $positions;
  89. }
  90. elseif(is_single()){
  91.         echo $positions ;
  92.     echo  the_title();
  93. }
  94. elseif(is_search()){echo $s;}
  95. elseif(is_page()){
  96.         the_title();
  97. }elseif(is_404()){echo '404错误页面';}

  98. }
  99. }

  100. //获取当前分类子分类列表
  101. function get_category_root_id($cat){
  102. $this_category = get_category($cat); // 取得当前分类
  103. while($this_category->category_parent) {// 若当前分类有上级分类时,循环
  104. $this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类(往上爬)
  105. }
  106. return $this_category->term_id; // 返回根分类的id号
  107. }



  108. //分类目录后加/
  109. function nice_trailingslashit($string, $type_of_url) {
  110. if ( $type_of_url != 'single' )
  111. $string = trailingslashit($string);
  112. return $string;
  113. }
  114. add_filter('user_trailingslashit', 'nice_trailingslashit', 10, 2);
复制代码
2、wordpress模板主题仿站常用插件
2.1、wordpress自定义字段插件 -   Advanced Custom Fields

它可以将字段添加到任何地方。可以在WP上添加字段,包括文章、用户、分类项目、媒体、评论甚至自定义选项页面

2.2、wordpress编辑器插件 - 经典编辑器

启用WordPress经典编辑器和旧式的编辑文章页面,包括TinyMCE、Meta Boxes等。支持扩展此页面的旧插件

2.3、wordpress会员中心登陆注册插件- Wechat Social

支持国内最热门的社交媒体登录。如:微信、QQ、微博、手机登录、账号绑定和解绑,全新的注册页面取代原生注册页面,支持Ultimate Member、WooCommerce、拖动验证码,登录菜单。部分扩展收费


3、wordpress自定义表单插件 Contact Form 7

Contract Form 7 可以管理多个联系表单,而且您可以自定义窗体并灵活调整邮件内容。不过Contact Form 7 不支持把留言的内容保存到数据库,而是需要在后台配置邮箱,留言内容部之间发到你的邮箱里

腾讯云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )