在wordpress中创建一个插件是包括空白空间
问题描述:
我是一个带ajax的wordpress插件。在wordpress中创建一个插件是包括空白空间
我主要的插件文件(myplugin.php)是:
function loadScreen(){
wp_enqueue_style('files', plugin_dir_url(__FILE__) . 'css/style.css');
wp_enqueue_script('files', plugin_dir_url(__FILE__) . 'js/ajax.js');
require(dirname(__FILE__).'/html-template.php');
}
add_shortcode("loadmyplugin", "loadScreen");
和HTML-的template.php是:
<script type='text/javascript'>
jQuery(document).ready(function($) {
var option = '';
jQuery.ajax({
url: URL,
dataType: 'json',
type: 'GET',
}).done(function(data) {
for(var spec in data){
options += '<option value='+spec+'>'+data[spec]+'</option>';
}
jQuery('select#option-list').append(options);
});
});
</script>
<div class="et_pb_section et_section_regular">
<div class="et_pb_row ">
<select id="option-list"></select>
</div>
...
</div>
我也是用航空维修建设内容页,我想从简码中使用我的插件[loadmyplugin]。
我的插件工作,唯一的问题是,我的插件是在页面编辑模式[image1]包括一些空白空间,它的加载在页面[image2]的开始,但我希望它加载我在哪里我为它创建了模块。
我想我缺少一些关于add_filter或add_action的事情,但我不确定,有人可以帮我吗?
答
你的 “规定”,产生输出时短代码被调用时,它应该 “回归” 您的HTML代替。
简单的解决办法:
function loadScreen(){
wp_enqueue_style('files', plugin_dir_url(__FILE__) . 'css/style.css');
wp_enqueue_script('files', plugin_dir_url(__FILE__) . 'js/ajax.js');
// start to capture output into buffer
ob_start();
require(dirname(__FILE__).'/html-template.php');
// return captured output and end buffering
return ob_get_clean();
}
add_shortcode("loadmyplugin", "loadScreen");
谢谢!它帮助了我。 – Kelyane