Шорткод возвращает неверный URL - Wordpress - PullRequest
0 голосов
/ 30 января 2019

Я пишу шорткод WP, чтобы отключить случайные изображения из пути, заданного вводом.[random-image pag = "" class = ""] Код работает хорошо, но возвращает правильный URL + страницу, которую я поместил шорткод.Пример: в настоящее время я обновляю свой веб-сайт локально.Фактический URL-адрес: https://localhost/z/ Но после того, как я закончу кодировать, он станет https://localhost/

Если я добавлю шорткод на страницу / prova (https://localhost/z/prova/), то источник изображенияпокажет «wp-content / themes / generatepress_child / img / home / 2.jpg», что правильно, но если я наведу на него курсор мыши, он отобразит полный путь следующим образом: «https://localhost/z**/prova/**wp-content/themes/generatepress_child/img/home/2.jpg" вместо» https://localhost/z/wp-content/themes/generatepress_child/img/home/2.jpg"

Я пытался изменить $ imagesDir в $ imagesDir = get_site_url ().'wp-content / themes / generatepress_child / img /'.esc_attr ($ values ​​['pag']). '/';или $ imagesDir = 'z / wp-content / themes / generatepress_child / img /'.esc_attr ($ values ​​['pag']). '/';или даже: $ imagesDir = 'https://localhost/z/wp-content/themes/generatepress_child/img/'.esc_attr ($ values ​​['pag']). '/';

Но все они возвращаются с

// Random img 
function random_image(  $atts, $content = null ) {
    $values = shortcode_atts( array(
    'pag'       => 'home',
    'class'     => 'imgrnd',
    ), $atts );

    $imagesDir = 'wp-content/themes/generatepress_child/img/' . esc_attr($values['pag']) .'/';

    $images = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);

    $randomImage = $images[array_rand($images)];

    return '<img src="' . $randomImage . '" class="' . esc_attr($values['class']) . '">';

}
add_shortcode( 'random-image', 'random_image' );

1 Ответ

0 голосов
/ 30 января 2019

Я решил эту проблему, изменив результат возврата с помощью

'<img src="' . '/z/' . $randomImage . '" class="' . esc_attr($values['class']) . '">';

Но мне все еще не нравится это решение, есть ли лучший способ исправить это?

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