У меня есть собственный плагин WordPress, который регистрирует некоторые шорткоды.Я хочу добавить функцию для отображения слайдера swiper.js с помощью шорткода, но я не могу достичь этой области.Если я прикреплю галерею к странице или к сообщению, она не будет отображаться, массив get_post_gallery_images()
, возвращаемый в моем классе функций, всегда будет пустым.Как я могу это исправить?Как я могу удалить только шорткод галереи WordPress по умолчанию, чтобы использовать собственный код с прикрепленными изображениями?
Код метода моего плагина
public function imgSlider( $attr, $content )
{
global $post;
$a = shortcode_atts(array(
'pagination' => null,
'buttons' => null,
'scrollbar' => null
), $attr);
$images = get_post_gallery_images( $post );
var_dump($images);
$slider = '';
if( $images ){
$slider = '<div class="swiper-container">';
$slider .= '<div class="swiper-wrapper">';
foreach( $images as $img ){
$slider .= '<img class="img-fluid w-100" src="'. $img .'">';
}
$slider .= '</div>';
if( $a['pagination'] === true ){
$slider .= '<div class="swiper-pagination"></div>';
}
if( $a['buttons'] === true ){
$slider .= '<div class="swiper-button-prev"></div>';
$slider .= '<div class="swiper-button-next"></div>';
}
$slider .= '</div>';
}
// This will return true
//var_dump(has_shortcode( $post->post_content, 'gallery' ));
return $slider;
}
Это содержимое созданной мной тестовой страницы.отладить мой код и проверить, работают ли пользовательские шорткоды. Примечание: я заметил, что при добавлении шорткодов в HTML добавляются пустой тег <p>
и тег <br>
, возможно ли их удалить?
[bs-container type="container-fluid"]
[bs-col type="6" mobile="display"]Lorem ipsum demo shortcode[/bs-col]
[bs-col type="6" mobile="hide"]<img class="img-fluid w-100" src="https://localhost/wordpress/wp-content/uploads/2019/09/ig_testing_account_2.jpeg">[/bs-col]
[bs-col type="12" mobile="hide"]
[bs-slider pagination="true" buttons="true" scrollbar="false"][gallery link="none" size="large" ids="37,38,25"][/bs-slider]
[/bs-col]
[/bs-container]
[bs-parallax img="https://images.unsplash.com/photo-1569017436947-e1e377435a13?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=600&ixlib=rb-1.2.1&q=80&w=800" is_section="false" overlay="false"][/bs-parallax]