在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的事情,但我不确定,有人可以帮我吗?

此搜索: image1

图像2: image2

你的 “规定”,产生输出时短代码被调用时,它应该 “回归” 您的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"); 
+0

谢谢!它帮助了我。 – Kelyane