WordPress 二次开发必备技能:搞定自定义分类选项

2022-03-1308:48:04网站建设与开发Comments1,945 views字数 2141阅读模式

WordPress 自定义分类选项是在 WordPress 后台分类新增和编辑页面,给分类添加一些字段选项来实现功能,比如分类的 SEO 标题,关键字和描述等,所以学会快速开发 WordPress 自定义分类选项是 WordPress 二次开发的必备的技能。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

这次的教程会简单直接一点,原来我们都会说 WordPress 原生的开发比较麻烦,这次不再重复了,我们直接讲解怎么使用 WPJAM Basic 进行 WordPress 自定义分类选项开发,因为原生开发有点复杂,如果介绍的话,文章篇幅过长,但是我们的重点是基于 WPJAM Basic 进行二次开发,所以直接来。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

使用 WPAJAM BASIC 创建自定义选项

我们继续使用一个函数就搞定 WordPress 设置页面开发里面创建的「WPJAM SEO」插件来演示怎么创建自定义分类选项页面,今天我们会创建分类的 SEO 选项,让你输入分类的 SEO 标题,关键字和描述。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

直接上代码:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

add_action('plugins_loaded', function(){	// 所有插件都已经加载
	if(!did_action('wpjam_loaded')){		// 确保已加载 WPJAM Basic 插件
		return;
	}

	wpjam_register_term_option('seo', [
		'title'			=> 'SEO设置',	// 自定义选项标题
		'list_table'	=> true,		// 后台分类列表页也支持设置
		'page_title'	=> 'SEO设置',	// 分类列表点击弹窗的标题
		'submit_text'	=> '设置',		// 弹窗的提交按钮名称
		'fields'		=> [
			'seo_title'			=> ['title'=>'SEO标题',	'type'=>'text',		'class'=>'large-text',	'placeholder'=>'不填则使用标题'],
			'seo_description'	=> ['title'=>'SEO描述',	'type'=>'textarea'],
			'seo_keywords'		=> ['title'=>'SEO关键字','type'=>'text',		'class'=>'large-text']
		]
	]);
});

代码都加了注释,懂的同学应该已经知道怎么做了,还有些困惑的同学,请听我解释 ?,首先还是先确保 WPJAM Basic 已加载,这方面一个函数就搞定 WordPress 设置页面开发中已经做了详细的介绍,这里就不再赘述了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

wpjam_register_term_option

这个就是标题中说的那个牛逼的函数,是的,我们只用了 wpjam_register_term_option 这一个函数就在 WordPress 后台搞定自定义分类选项:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

  • title:这个参数定义自定义选项的标题。
  • list_table:定义后台分类列表页是否也支持通过弹窗设置
  • fields:那么这个自定义选项框有哪些字段呢?就是这个参数决定的,这里定义了两个输入框和一个文本框。

和自定义文章选项不同,分类新增和编辑页面没有 meta_box 的,字段是直接展示的,所以上面代码就是在分类列表和编辑页新增三个字段,分别是「SEO标题」,「SEO描述」和「SEO关键字」,我截图一下新增页面的字段:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

WordPress 二次开发必备技能:搞定自定义分类选项

然后在分类列表页右侧的分类列表也可以进行设置操作:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

WordPress 二次开发必备技能:搞定自定义分类选项

点击上面「SEO设置」按钮也可以进行同样的设置:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

WordPress 二次开发必备技能:搞定自定义分类选项

在页面上使用自定义分类选项

创建了选项之后,那么我们就要把他们用起来,WordPress 提供了获取分类自定义字段的函数:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

get_term_meta($term_id, $met_key, $single);	// 获取分类自定义字段

首先把在分类/标签/自定义分类页将页面标题改成上面定义的「SEO标题」:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

add_filter('document_title', function($title){
	if((is_category() || is_tag() || is_tax()) && get_query_var('paged') < 2){
		return get_term_meta(get_queried_object_id(), 'seo_title', true) ?: $title;
	}

	return $title;
});

然后把「SEO描述」和「SEO关键字」输出到分类/标签/自定义分类页的 head 中:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

add_action('wp_head', function(){
	if((is_category() || is_tag() || is_tax()) && get_query_var('paged') < 2){	// 分类/标签/自定义分类页并且第一页
		foreach(['description', 'keywords'] as $type){
			if($meta_value = get_term_meta(get_queried_object_id(), 'seo_'.$type, true)){
				echo "<meta name='{$type}' content='{$meta_value}' />\n";	// 只有设置才输出
			}
		}
	}
});

就是这么简单,如果你是 WordPress 主题或者插件开发者,使用 WPJAM Basic 进行二次开发都是超简单的一件事情。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

 牛逼闪闪的Denis WordPress果酱文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/23625.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/cms/23625.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定