用Wordpress建站的初学者一定会需要用到的Wordpress模板主题中functions.php常用功能代码与常用插件。慢慢持续收集整理.......
目录
一、Wordpress模板主题中functions文件常用的代码
二、Wordpress自定义字段的设定与调用代码(系统常规自定义字段)
三、wordpress分类栏目添加自定义字段 (例如栏目图片)
四、文章页自定义字段添加与调用标签
五、单页自定义字段添加与调用标签
'侧边栏','before_widget' => '','after_widget' => '','before_title' => '','after_title' => '
'));//删除wp-nav-menu函数菜单中多余的css选择器
add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1);
add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1);
add_filter('page_css_class', 'my_css_attributes_filter', 100, 1);
function my_css_attributes_filter($var) {return is_array($var) ? array() : '';
}//移除后台用不到的菜单
function yg_remove_menu_page() {//remove_menu_page('themes.php'); // 移除 "外观"//remove_menu_page('plugins.php'); // 移除 "插件"//remove_menu_page('tools.php'); // 移除 "工具"remove_submenu_page('tools.php','export.php'); //移除工具下的导出}
add_action( 'admin_menu', 'yg_remove_menu_page' );//开启wordpress友情链接管理
add_filter( 'pre_option_link_manager_enabled', '__return_true' );
//开启wordpress特色图片
add_theme_support( 'post-thumbnails' );//WordPress子分类页面使用父页面模板
add_filter('category_template', 'f_category_template');
function f_category_template($template){$category = get_queried_object();if($category->parent !='0'){while($category->parent !='0'){$category = get_category($category->parent);}}$templates = array();if ( $category ) {$templates[] = "category-{$category->slug}.php";$templates[] = "category-{$category->term_id}.php";}$templates[] = 'category.php';return locate_template( $templates );
}/**分页 前端调用 post_count;
if(empty($paged))$paged = 1;
$prev = $paged - 1;
$next = $paged + 1;
$range = 2; // only edit this if you want to show more page-links
$showitems = ($range * 2)+1;
$pages = ceil($total_posts/$posts_per_page);
if(1 != $pages){
echo "";
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? "最前":"";
echo ($paged > 1 && $showitems < $pages)? "上一页":"";
for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? "".$i."":"".$i."";
}
}
echo ($paged < $pages && $showitems < $pages) ? "下一页" :"";
echo ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) ? "最后":"";
echo "\n";
}
}//面包屑导航
function wz(){
$cat=get_the_category();
$cat=$cat[0];
$positions = ''.$cat->name. ' >';
if(!is_home() ){ echo ''. '首页> ';
if(is_category()){echo $positions;
}
elseif(is_single()){echo $positions ;echo the_title();
}
elseif(is_search()){echo $s;}
elseif(is_page()){ the_title();
}elseif(is_404()){echo '404错误页面';}}
}//获取当前分类子分类列表
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; // 返回根分类的id号
}//分类目录后加 /
function nice_trailingslashit($string, $type_of_url) {
if ( $type_of_url != 'single' )
$string = trailingslashit($string);
return $string;
}
add_filter('user_trailingslashit', 'nice_trailingslashit', 10, 2);
1、在wordpress主题文件functions.php中添加如下代码就可以添加一些我们常用的系统常规字段,在数据库表 wp_options 中保存。比如系统参数字段如:备案号、统计代码、phone,qq 为自定义字段名等。注:如果不知道字段名是什么可以在数据库表 wp_options查看,或者到function.php文件中找到你添加自定义字段的代码查看。
// 自定义系统字段
function set_global_fields() {$global_fields = new GlobalFields();$global_fields->setting_fields();
}
add_action( 'admin_init', 'set_global_fields' );class GlobalFields
{public function setting_fields(){$text_input = ['contact' => '联系人','email' => '邮箱','address' => '地址','phone' => '电话','wechat' => '微信','qq' => 'QQ','copyright' => '备案号','seo_title' => 'seo标题','seo_keywords' => 'seo关键字',];$textarea_input = [ 'seo_description' => 'seo描述','tongji' => '统计代码' ];foreach($text_input as $key => $val){$this->sonliss_settings_field($key, $val, 'sonliss_textbox_callback', [$key]);$this->sonliss_register_setting($key);}foreach($textarea_input as $key => $val){$this->sonliss_settings_field($key, $val, 'sonliss_textareabox_callback', [$key]);$this->sonliss_register_setting($key);}}
2、模板里调用:
1.添加方法,将下方代码复制到 function.php 中
输入分类封面图片URL
term_id;// 获取已保存的option$term_meta = get_option( "ludou_taxonomy_$term_id" );// option是一个二维数组$image = $term_meta['tax_image'] ? $term_meta['tax_image'] : '';/*** TODO: 在这里追加获取其他自定义字段值,如:* $keywords = $term_meta['tax_keywords'] ? $term_meta['tax_keywords'] : '';*/?>" />输入分类封面图片URL
2.模板中调用方法:
//$cat 默认为当前分类id seo-title自定义字段
$post_id = "category_".$cat;
$value = get_field( 'seo-title', $post_id );
echo $value;
?>//输出图片字段
$post_id = "category_".$cat; echo get_field('img_ioc',$post_id);?>//案例
$post_id = "category_".$cat; ?>
"/>
"/>
1、添加
2、调用
1、普通自定义字段
2、自定义图片字段
1、添加
2、调用
1、普通自定义字段
2、自定义图片字段
持续整理更新中........