0

我使用本教程http://www.garyc40.com/2010/03/how-to-make-shortcodes-user-friendly/在我的 tinymce 中添加了一个简码按钮, 这一切都很好。

我现在想在弹出文件中包含一些 wordpress 函数,以便使用“colorpicker”、“mediainclude”等。

这是行不通的。在我的弹出文件中,我尝试包含这些脚本以使用它,但它不起作用:

$absolute_path = __FILE__;
$path_to_file = explode( 'wp-content', $absolute_path );
$path_to_wp = $path_to_file[0];
// Access WordPress
require_once( $path_to_wp . '/wp-load.php' );
wp_enqueue_script('media-upload');
wp_enqueue_style('thickbox');
wp_enqueue_style( 'wp-color-picker' );
4

1 回答 1

0

我昨晚得到了这个工作。我认为您忘记将颜色选择器等的样式排入队列。这就是我将脚本排入队列的方式。

<?php 
if ( !current_user_can('publish_posts') ) exit();

wp_enqueue_script( 
    array( 
        'iris', 
        'json2', 
        'jquery', 
        'jquery-ui-core', 
        'jquery-ui-sortable',
        'jquery-ui-tabs',
        'jquery-ui-slider',
        'jquery-ui-datepicker',
        'jquery-ui-autocomplete',
        'tiny-mce-popup',
        'shortcodes',
        'media-upload', 
        'thickbox',
    )  
); 
    wp_enqueue_style( 'wp-color-picker', false, true );          
    wp_enqueue_script( 'wp-color-picker', false, true ); 
?>

不知道为什么,但最后两个只有在这样做时才有效。

然后这里是颜色选择器的脚本。

<script>
jQuery(document).ready(function($){
var myOptions = {
    // you can declare a default color here,
    // or in the data-default-color attribute on the input
    defaultColor: false,
    // a callback to fire whenever the color changes to a valid color
    change: function(event, ui){},
    // a callback to fire when the input is emptied or an invalid color
    clear: function() {},
    // hide the color picker controls on load
    hide: true,
    // show a group of common colors beneath the square
    // or, supply an array of colors to customize further
    palettes: true
};

$('.my-color-field').wpColorPicker(myOptions);
});
</script>

以及显示颜色选择器的 HTML。

<span class="wp-picker-input-wrap">
  <input type="text" class="my-color-field" style="display: none;">
</span>

让我知道这是否适合你。这全部在我的 window.php 文件中,该文件用于填充厚框窗口等中的内容。

于 2014-01-26T14:29:01.443 回答