我仍在尝试将可爱文件浏览器用于WP插件:解决所有问题后,我用wp_get_current_user砸了头。
该插件由main.php制成:
add_shortcode("lace", "lace_shortcode");
function lace_shortcode(){
$html_code= '
<div class="filemanager">
<div class="search">
<input type="search" placeholder="Ricerca un file.." />
</div>
<div class="breadcrumbs"></div>
<ul class="data"></ul>
<div class="nothingfound">
<div class="nofiles"></div>
<span>Nessun file trovato.</span>
</div>
</div>';
wp_enqueue_script('script');
return $html_code;
}
调用script.js:
(function($){ $(document).ready(function(){
var filemanager = $('.filemanager'),
breadcrumbs = $('.breadcrumbs'),
fileList = filemanager.find('.data');
const SCANPHP_DIR = ("http://localhost/www.website.it/wp-content/plugins/lace/scan.php");
// Start by fetching the file data from scan.php with an AJAX request
$.get(SCANPHP_DIR, function(data) {
谁使用了scan.php中的信息:
function scan($dir){
$files = array();
/$user = 'administrator';
// Is there actually such a folder/file?
if(file_exists($dir)){
foreach(scandir($dir) as $f) {
//if admin, see al folders/files, otherwise just user folders/files
if ($user!='administrator'){
if($f != $user){
continue;
}
} [...]
我需要检索当前的WP用户才能正确执行插件,但是问题来了。 我可以正确使用$ current_user = wp_get_current_user();进入简码,但我不知道如何在scan.php中执行此操作:如果尝试使用相同的方式,则无法执行,可能是因为scan.php是在wordpress初始化之前加载的。
答案 0 :(得分:0)
您无法访问scan.php内的wordpress函数,因为此文件作为通过ajax调用的独立文件而工作。
如果要使用wordpress函数,则需要以正确的方式调用ajax。