функция glob не работает с функцией get_stylesheet_directory () на активированном веб-сайте Wordpress https - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь получить все файлы изображений из папки. Я использую веб-сайт WordPress

Это код, который я пробовал

$base_dir = trailingslashit(get_stylesheet_directory());
$dir      = 'images/';
$images   = glob($base_dir.$dir.'*.{png,gif,jpg}',GLOB_BRACE);
foreach($images as $image)
{
 echo ' <img src="'. str_replace(get_home_path(), get_home_url(), $image) .'" alt="...">';
}

Код работает правильно в моем сайт localhost. Но когда я использую тот же код на моем сайте, код не работает. Массив изображений для меня пуст. Примечание. На моем веб-сайте активирована дочерняя тема, веб-сайт HTPPS.

Любая помощь.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Это связано с функцией get_home_path(). Вы проверяли, возвращает ли функция get_home_path() данные?

Пожалуйста, попробуйте обновить приведенный ниже код. т.е. вместо get_home_path() используйте $base_dir. Проверьте ниже фрагмент.

$base_dir = trailingslashit(get_stylesheet_directory());
$dir     = 'images/';
$images   = glob($base_dir.$dir.'*.{png,gif,jpg}',GLOB_BRACE);
foreach($images as $image){
echo '<img src="'. str_replace($base_dir, trailingslashit(get_stylesheet_directory_uri()), $image) .'" alt="...">';
}

Надеюсь, что это решит вашу проблему. Спасибо

0 голосов
/ 26 февраля 2020
$base_dir = trailingslashit(get_template_directory());
$dir      = 'images/';
$images   = glob($base_dir.$dir.'*.{png,gif,jpg}');

foreach($images as $image) {
    $url = get_theme_file_uri($dir.basename($image));
    printf('<div class="dynamic item"><img src="%s" alt=""></div>', esc_url($url));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...