Симпатичный файловый браузер в плагине WP - ошибка wp_get_current_user - PullRequest
1 голос
/ 25 июня 2019

Я все еще пытаюсь использовать Cute File Browser в плагине 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.

1 Ответ

0 голосов
/ 05 июля 2019

Вы не можете получить доступ к функциям wordpress внутри scan.php, так как этот файл работает как отдельный файл, так как он вызывается через ajax.

Если вы хотите использовать функции wordpress, вам нужно вызвать ajaxправильный путь.

Проверьте эту ссылку: https://codex.wordpress.org/AJAX_in_Plugins

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...