Products
GG网络技术分享 2025-03-18 16:13 0
对于不擅长编写代码的用户,widget是他们创建WordPress网站时的得力助手。通过添加widget可以在网站主题允许的区域添加菜单、列表、文本等等。
我们将通过五个部分的系列教程,带你成功创建您的第一个widget。
该系列包括以下五个教程:
第一个部分主要给大家介绍widget以及Widget API。
想要创建一个widget,首先要创建一个包含以下功能函数的类来扩展WP_Widget类。
除此之外你还需要用函数register_widget对创建的widget进行注册。
在构建widget时,你可以添加许多内容到widget中,比如:静态文本、从数据库中查询输出的内容以及其他网站的订阅资料等等。需要大家注意的是:由于你的widget需要适应页面上定义的区域,所以你的widget的输出不要太大。
另外,WordPress带有内置的widget数组,所以,在编辑你的widget之前首先要检查在WordPress核心内是否已经存在该widget。
Widget API中包括你创建widget的过程中所需要的所有功能函数。该API具体内容如下
首先给大家介绍四个widget函数
1、is_active_widget:这是一个条件标签,用于检查单一widget是否处于活动状态。切记不要与函数:is_active_sidebar混淆,这个函数用来检查widget是否已经被添加到特定的小工具区域。
2、the_widget:这是一个模板标签,用于在小工具区域以外显示widget的函数。
3、register_widget:该函数用来注册编写好的widget,在该系列后面的教程中会用到该函数。
4、unregister_widget:通过这个函数可以注销一个widget,widget被注销后,用户将无法在小工具界面使用该widget。
Widget API中除了上述的四个widget函数还包括以下五个内部函数。
1、wp_register_widget_control:在widget界面上创建控制选项,以便用户对widget的设置进行修改。
2、wp_unregister_widget_control:用来对通过 wp_register_widget_control注册的widget进行注销
3、wp_convert_widget_settings:该函数可以将单一widget的设置装换到多个widget设置中
4、wp_get_widget_defaults:核心函数,不向插件或主题开发者提供使用。
5、wp_widget_description:用于创建一个可以在widget界面显示的widget描述。
要访问这些内部功能,需要用到WP_Widget类。这是一个构造函数类,可以对它进行扩展来创建额外的widget。
希望该教程可以激发起你对创建自己的widget的兴趣。接下来的教程中我们将为您介绍如何编写和注册你的widget。
一般WordPress主题都会带有自己的自定义文章类型,所以我们在使用主题的时候就需要处理这些自定义文章类型和分类,那么注销WordPress自定义文章类型和自定义分类的方法是什么?今天我们一起学习一下。
首先,我们要找到文章类型或分类法名称。导航到自定义文章类型或自定义分类法(例如类别、标签),然后查看网址。
post_type参数后面的值faq就是这个自定义文章类型名称,下面要用到。
taxonomy参数的值faq_category就是自定义分类法的名称,下面要用到。
现在我们知道了文章类型/分类法的名称,我们可以从WordPress注销它。
注销自定义文章类型和自定义分类
从WordPress4.5开始,有函数unregister_post_type()和unregister_taxonomy()可以做到这一点。在当前启用的主题的functions.php中粘贴以下代码即可:
functionwpdaxue_deregister_post_type(){
unregister_post_type(\'faq\');//注销faq文章类型
unregister_taxonomy(\'faq_category\');//注销faq_category分类法
}
add_action(\'init\',\'wpdaxue_deregister_post_type\');
就是这样即可!只需用您的文章类型、分类法名称替换“faq”和“faq_category”即可。在WordPress管理后台中,您将看到自定义文章类型/分类法已经不存在了。
请注意,使用unregister_post_type()或unregister_taxonomy()函数不会在安装时进行清理–不会从数据库中删除任何数据。为此,您可以使用以下查询来手动删除这些记录:DELETEFROMwp_postsWHEREpost_type=\'[您的自定义文章类型]。
或者按照文章操作:删除WordPress中不再使用的自定义文章类型的文章数据
最后要做的是再次保存您的固定链接来刷新它们。
从Avada主题中删除Portfolio和FAQ自定义文章类型。
如果您正在运行AvadaWordPress主题,并且想要删除作品集(Portfolio)和常见问答(FAQ)自定义文章类型及其自定义分类法,可以使用以下代码:
functionwpdaxue_deregister_post_type(){
unregister_post_type(\'avada_portfolio\');
unregister_post_type(\'avada_faq\');
unregister_taxonomy(\'portfolio_category\');
unregister_taxonomy(\'portfolio_tags\');
unregister_taxonomy(\'portfolio_skills\');
unregister_taxonomy(\'faq_category\');
}
add_action(\'init\',\'wpdaxue_deregister_post_type\');
Demand feedback