黄聪:如何给wordpress的编辑器添加一个自定义按钮,并且实现插入功能

1、添加按钮

在  functions.php  文件里面添加下面代码:

add_action(‘media_buttons‘, ‘add_my_media_button‘);

function add_my_media_button() {
    echo ‘<a href="#" id="insert-my-media" class="button">Add my media</a>‘;
}

添加后,登录后台编辑文章看到如图所示:

2、添加命令

继续添加代码,引用自己定义的JS,我命名为  media_button.js  ,存放好路径之后,自己修改  path/to/  为存放的路径。

function include_media_button_js_file() {
    wp_enqueue_script(‘media_button‘, ‘path/to/media_button.js‘, array(‘jquery‘), ‘1.0‘, true);
}

3、添加JS命令

media_button.js 添加下面代码:

jQuery(function($) {
    jQuery(document).ready(function(){
            jQuery(‘#insert-my-media‘).click(open_media_window);
    });

    function open_media_window() {
        if (this.window === undefined) {
            this.window = wp.media({
                    title: ‘Insert a media‘,
                    library: {type: ‘image‘},
                    multiple: false,
                    button: {text: ‘Insert‘}
                });

            var self = this; // Needed to retrieve our variable in the anonymous function below
            this.window.on(‘select‘, function() {
                    var first = self.window.state().get(‘selection‘).first().toJSON();
                    wp.media.editor.insert(‘[myshortcode id="‘ + first.id + ‘"]‘);
                });
        }

        this.window.open();
        return false;
    }
});

就可以实现点击按钮弹出媒体选择框,插入之后自动插入短网址。

时间: 2024-08-11 01:19:42

黄聪:如何给wordpress的编辑器添加一个自定义按钮,并且实现插入功能的相关文章

rails使用bootstrap3-wysiwyg可视化编辑器并实现自定义图片上传插入功能

之前在rails开发中使用了ckeditor作为可视化编辑器,不过感觉ckeditor过于庞大,有很多不需要的功能,而且图片上传功能不好控制不同用户可以互相删除图片,感觉很不好.于是考虑更改可视化编辑器,多方考虑选择了bootstrap3-wysiwyg,但是这个编辑器无法实现图片上传功能,还有换行使用br而不是p标签不是很好.于是考虑自定义完善其功能. 个人原创,版权所有,转载请注明原文出处,并保留原文链接: https://www.embbnux.com/2015/03/17/rails_u

101在检索框中添加一个书签按钮(扩展知识:在检索框中添加一个范围条)

效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UITableViewController<UISearchBarDelegate> 4 @property (strong, nonatomic) UISearchBar *searchBar; 5 @property (strong, nonatomic) NSMutableArray *mArrDataSourceO

为jEasyUi的日期控件添加一个“清空”按钮----通过修改1.4的easyui.min.js

为 jQuery EasyUI 1.4 的datebox或datetimebox添加一个清空按钮 使用场景:为用户指定了日期的格式,且日期可以为空 修改语言包easyui-lang-zh_CN.js 在if ($.fn.datebox){ 的下一行添加 (41或42行) $.fn.datebox.defaults.cleanText = '清空'; 在if ($.fn.datetimebox && $.fn.datebox){  $.extend($.fn.datetimebox.defa

UEditor百度编辑器,工具栏添加一个普通按钮

添加一个名叫“hougelou”的普通按钮 附言:以下是以UEditor .Net版本举例说明. 第一步:找到ueditor.config.js文件中的toolbars数组,增加一个“hougelou”字符串,然后找到labelMap数组,对应着添加一个labelMap,用于鼠标移上按钮时的提示. //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的从新定义 , toolbars:[ ['fullscreen', 'source', '|', 'undo', 'redo

iOS IM开发建议(三)添加一个自定义键盘

各类的主流IM,都有自己定义的键盘:有表情键盘,选图片的键盘.其实都是一个inputView. 首先,我们要确定,我们的键盘是输入框调用的.也就是,我们可以设置的是某一个textView的inputView. // 让键盘进入编辑状态,替换输入源为自定义的fv // fv 是一个自定义的UIView - (void)callFaceKeyBoard:(UIButton *)button { [ktextView becomeFirstResponder]; ktextView.inputView

Tkinter小技巧:如何为窗口右上角的‘x’添加一个自定义的响应函数

不废话,直接上代码 import tkinter as tk from tkinter import messagebox main_window = tk.Tk() main_window.geometry('200x100') tk.Label(main_window, text='我是一个窗口').pack() def my_close(): # True or Flase res = messagebox.askokcancel('提示', '是否关闭窗口') if res == Tru

黄聪:在WordPress后台文章编辑器的上方或下方添加提示内容

WordPress 3.5 新增了一对非常有用的挂钩,可以快速在WordPress后台文章编辑器的上方或下方添加提示内容,下面是一个简单的例子,直接将代码添加到主题的 functions.php 文件: function below_the_title() { echo '<h3>在编辑器上方添加的提示内容</h3>'; }   add_action( 'edit_form_after_title', 'below_the_title' );   function below_th

黄聪:禁止wordpress版本自动升级的解决方案

在WordPress配置文件中找到wp-config.php,添加如下常量 define( 'AUTOMATIC_UPDATER_DISABLED', true );

黄聪:走进wordpress 详细说说template-loader.php

再看template-laoder.php,这个文件总共只有45行.它的作用是基于访问的URL装载正确的模板. 文件第六行,也是第一条语句,如下: if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) do_action('template_redirect'); 首先判断是否使用Themes,这个WP_USE_THEMES常量在index.php中第一句就被设置为true.因此条件成立,会执行do_action(‘template_redire