WordPress中使主题支持小工具以及添加插件启用函数

https://www.jb51.net/article/76810.htm

 

这篇文章主要介绍了WordPress中使主题支持widget以及添加插件启用函数的方法,使WP可以使用小工具widget与通过register_activation_hook()来添加启用插件的函数,需要的朋友可以参考下

 

让主题支持小工具
WordPress 的小工具(widget)是一大特色,它让用户自由拖动组合内容,而且任何插件和主题都可以添加一个额外的小工具,增加扩展性。

默认情况下,一个主题并不会支持小工具,需要主题开发者启用小工具功能并把小工具在相应的前台位置调用出来,这样用户才能在后台直接拖动生成侧边栏。

本文就来教你如何激活小工具功能,并且添加一个侧边栏,最后在前台显示出来。

注册侧边栏

默认的,后台外观下是没有 “小工具” 这个菜单按钮的,如果想要让他出现,就至少需要注册一个侧边栏,否则即使显示出来,也没有用。

注册一个侧边栏需要使用 register_sidebar() 函数,用法比较简单,只有一个属性,填上需要的信息就行了。

1.在主题function中添加以下代码

  1. 复制代码

    <?php
    /**在function中添加以下代码
    *WordPress添加额外选项字段到常规设置页面
    * http://www.wpdaxue.com/add-field-to-general-settings-page.html
    */
    $new_general_setting = new new_general_setting();
    class new_general_setting {
    function new_general_setting(){
    add_filter('admin_init', array(&$this ,'register_logo'));
    }
    function register_logo(){
    //需要'js/uploader.js组件
    wp_enqueue_script('fli-upload-js', $this->url .'js/uploader.js', array('jquery','media-upload','thickbox'));
    wp_enqueue_style('thickbox');
    wp_enqueue_style('fli-upload-css', $this->url .'css/uploader.css');
    register_setting('general','logo','esc_attr');
    add_settings_field('logo','<label for="logo">'.__('网站Logo').'</label>', array(&$this,'logo_fields_html'),'general');
    }
    function logo_fields_html(){
    $value = get_option('logo','');
    echo '<input type="text" class="regular-text ltr" id="logo" name="logo" maxlength="200" value="'. $value .'" readonly/> <input type="button" id="general_logo" class="button insert-media add_media" value="上传">';
    }
    }
    //自定义后台Css和Js
    add_action('admin_enqueue_scripts','myAdminScripts');
    function myAdminScripts(){
    //主题下加载admin.js
    wp_register_script('default', get_template_directory_uri().'/admin.js', array(),'','all');
    wp_enqueue_script('default');
    wp_register_style('default', get_template_directory_uri().'/admin.css', array(),'','all');
    wp_enqueue_style('default');
    }
    ?>
    

    复制代码

2.在主题admin.js中添加代码

复制代码

options_general();
//在常规选项页面添加自定义信息
function options_general (){
if(!Islocatl_pathname('options-general.php'))return;
//点击上传按钮或input元素时打开上传窗口
jQuery('#general_logo,#logo').click(function(){
//打开上传窗口需要js/uploader.js组件
tb_show('','media-upload.php?type=image&TB_iframe=true');
returnfalse;
});
//图片上传页面回传
//html:为选择的图片元素
window.send_to_editor =function(html){
imgurl = jQuery(html).attr('src');
// 保存值并写入optuions表
jQuery('#logo').val(imgurl);
//删除图片上传窗口
tb_remove();
returnfalse;
}//end send_to_editor
}
//当前页面是否是指定的页面
functionIslocatl_pathname(pathname){
return location.pathname.indexOf(pathname)>=0;
}//end 当前页面是否是指定的页面

复制代码

 

效果图:

 

参考:

进阶教程(三十四):调用新版的媒体中心上传图片

定制和使用WordPress图片上传功能

WordPress 添加额外选项字段到常规设置页面

 

来自为知笔记(Wiz)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运维人,你应该了解的三张武功心法图(转载)

一、运维技能图做为一个运维工程师&#xff0c;你知道你应该学习什么&#xff1f;怎么学习吗&#xff1f;朝哪个方向发展吗&#xff1f;下面一张运维工程师技能图&#xff0c;让你了解&#xff01;图片链接&#xff0c;点我^_^二、自动化运维路线图运维自动化在国内已经声名远躁…

Thunder团队第三周 - Scrum会议6

Scrum会议6 小组名称&#xff1a;Thunder 项目名称&#xff1a;i阅app Scrum Master&#xff1a;宋雨 工作照片&#xff1a; 代秋彤照相&#xff0c;所以图片中没有该同学。 参会成员&#xff1a; 王航&#xff1a;http://www.cnblogs.com/wangh013/ 李传康&#xff1a;http://…

如何使WordPress博客添加多个sidebar侧边栏

https://www.cnblogs.com/lydbk/p/4609736.html 如何使WordPress博客添加多个sidebar侧边栏 在制作wordpress模版的时候,也许你会遇到一个sidebar侧栏不能完全满足你的需求&#xff0c;或者侧栏内容过多导致页面过长&#xff0c;那么我们可以考虑使用两个或者更多侧栏。 考虑…

修改mysql表的存储引擎

方法一、alter table mytable engine InnoDB;//将mytable表引擎改为InnoDB.方法二、使用mysqldump 将表导出&#xff0c;然后修改 表create table 部分 engine 方法三、create table innodb_table like my_table;//创建一张新表alter table innodb_table engine InnoDB;//修改…

glove中文词向量_Summary系列glove模型解读

一、Glove模型简介语义文本向量表示可以应用在信息抽取&#xff0c;文档分类&#xff0c;问答系统&#xff0c;NER&#xff08;Named Entity Recognition&#xff09;和语义解析等领域中&#xff0c;大都需要计算单词或者文本之间的距离或者相似度&#xff0c;因此&#xff0c;…

lynx---CentOS终端访问IP

1、官网 http://lynx.isc.org 2、稳定版本 http://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.8rel.2.tar.gz 3、下载 cd /usr/local/ wget http://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.8rel.2.tar.gz 4、解压 tar xzf lynx2.8.8rel.2.tar.gz 5…

wordpress 添加小工具分类

register_sidebar( array(name > __( 默认侧边栏, Bing ),//侧边的名字id > sidebar-1,//侧边栏的 ID&#xff0c;注册多个侧边栏的时候不要重复description > __( 侧边栏的描述, Bing ),//侧边栏的描述&#xff0c;会在后台显示before_widget > <div class&quo…

OnLongClickListener长按事件设置墙纸

在AndroidApp应用中&#xff0c;OnLongClick事件表示长按2秒以上触发的事件&#xff0c;本章我们通过长按图像设置为墙纸来理解其具体用法。知识点&#xff1a;OnLongClickListener  OnLongClickListener接口与之前介绍的OnClickListener接口原理基本相同&#xff0c;只是该接…

foursquare nyc数据集_炫酷的python地理数据可视化

介绍在本文中&#xff0c;我依靠纽约市提供的这一数据集&#xff0c;详细列出了从2010年1月到2017年9月的所有大鼠目击事件。在此期间&#xff0c;已有101,914例报告的老鼠目击事件。虽然这已经是一个非常高的数字&#xff0c;但实际观察的鼠标数量可能要高得多。在纽约市独自一…

ThinkPHP中where()方法的使用

where方法的用法是ThinkPHP查询语言的精髓&#xff0c;也是ThinkPHP ORM的重要组成部分和亮点所在&#xff0c;可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组&#xff0c;虽然也可以使用对象但并不建议。字…

layui内置loading等待加载

https://www.cnblogs.com/moutudou/p/9453321.html 点击功能按钮之后 var loading layer.load(0, {shade: false,time: 2*1000}); 参数:  icon:0,1,2   loading风格 shade:false  是否有遮罩&#xff0c;true表示有遮罩 time : 2*1000  设定最长等待时间,设置时间之…

crawler_微信采集方案

仅供参考 转载于:https://www.cnblogs.com/cphmvp/p/3729295.html

jsp文件通常用common_springboot还能这样用redis

点击蓝字 关注我们 作者&#xff1a;xfkhttps://www.cnblogs.com/xfk1999/p/11347793.html一直想在springboot上集成带缓存的redis&#xff0c;终于成功了。网上有1000种写法&#xff0c;想找到一篇合适的还真不容易?。走下流程&#xff0c;加深下印象。环境:springboot版本&a…

takePic and Videos

2019独角兽企业重金招聘Python工程师标准>>> //// ViewController.m// UIImagePickerController// Created by Kenshin Cui on 14/04/05.// Copyright (c) 2014年 cmjstudio. All rights reserved.//AVFoundation.framework//MediaPlayer.framework//MobileCore…

VMware共享文件夹遇到的问题

我现在Linux下程序的开发模式是&#xff1a; 用VS2010编写代码(IDE太好用了)&#xff0c;然后切换到VMware虚拟机下执行make命令编译 因为使用了VMware的文件夹共享功能&#xff0c;所以源文件只需要一份拷贝 现在有个问题&#xff0c;Linux下访问过某目录后&#xff0c;如果Wi…

[模板]LIS(最长上升子序列)

转载自&#xff1a;最长上升子序列(LIS)长度的O(nlogn)算法 最长上升子序列nlogn算法 在川大oj上遇到一道题无法用n^2过于是&#xff0c;各种纠结&#xff0c;最后习得nlogn的算法 最长递增子序列&#xff0c;Longest Increasing Subsequence 下面我们简记为 LIS。排序LCS算法 …

uap--studio设置文本字体

转载于:https://www.cnblogs.com/zzzzw/p/4920460.html

可变悬挂调节软硬_【5040地推合作品牌】荷兰高性能减震器及悬挂系统品牌—KONI...

GT Show“5040计划”&#xff0c;深入全国各地省市地区&#xff0c;全方位覆盖全国改装门店、一二类维修厂、五大车型(奥迪、宝马、奔驰、保时捷、雷克萨斯)原厂升级店、高端综合店&#xff0c;深挖长三角六大城市后市场门店。GT Show不仅关注传统改装门店&#xff0c;而且全方…

简单两步干掉WordPress里面的fonts.googleapis

诚然&#xff0c;谷歌的技术和做出来的产品还是很牛逼的&#xff0c;但是喜欢趴人家的内裤这点在哪里都是行不通的&#xff0c;这不土鳖开始和谐谷歌了&#xff0c;这就直接给使用WordPress的朋友带来了点小麻烦&#xff1a;访问WordPress站很慢&#xff0c;登陆WordPress后台很…

【Alpha 冲刺】 2/12

今日任务总结 人员今日原定任务完成情况遇到问题贡献值胡武成完成API文档编写由于外出比赛&#xff0c;故推迟无0孙浩楷1.完成VUE框架搭建 2.寻找在线编辑图片插件已完成WEB在线编辑图片插件加载速度慢&#xff0c;需要再想办法解决2 0.5胡冰完成MVP框架搭建已完成由于之前有做…