я хочу отобразить изображения моего собственного плагина в стиле карусели - PullRequest
0 голосов
/ 05 ноября 2019

Я сделал свой первый плагин, который отображает галерею изображений через шорткод. в настоящее время изображения отображаются случайным образом. я хочу показать их в стиле карусели с помощью совы карусели.

Я попытался включить файлы css и js сова карусели в мою папку плагинов. Возможно, мои сценарии и стили не вызывают. Мне нужна помощь, как добавить код цикла в мой пользовательский код. Пожалуйста, ведите меня шаг за шагом, поскольку я новичок в разработке пользовательских плагинов.

это мета, откуда берется галерея и включаются скрипты и стили, пожалуйста посмотрите, правильно ли это.

function gallery_metabox_enqueue($hook) {
    if ( 'post.php' == $hook || 'post-new.php' == $hook ) {
      wp_enqueue_script('gallery-metabox', plugin_dir_url( __FILE__ ) . '/js/gallery-metabox.js', array('jquery', 'jquery-ui-sortable'));

     wp_enqueue_script('gallery-metabox', plugin_dir_url( __FILE__ ) . '/js/owl.carousel.min.js', array('jquery', 'jquery-ui-sortable'));
     wp_enqueue_script('gallery-metabox', plugin_dir_url( __FILE__ ) .'/css/owl.css', array(), null, 'all' );
     /*wp_enqueue_style( 'owl-carousel' );*/
     wp_enqueue_style( 'owl.css', get_stylesheet_uri() );

    }
  }

  add_action('admin_enqueue_scripts', 'gallery_metabox_enqueue');

-----------------------------------------------------------------------------
this is shortcode from where gallery will be displayed in page where shortcode is pasted.

add_shortcode( 'banners', 'display_banners' ); 
function display_banners($atts){
$meta = get_post_meta($atts['id'],'vdw_gallery_id', true);
?>
<div id="owl-demo" class="owl-carousels">
<?php
foreach ($meta as $key => $value) {
$attpost= get_post($value); // declare post variable 
echo '<img class="items" src="'.$attpost->guid.'" />'; 
}
?>
</div>
<?php
   extract(shortcode_atts(array('key' => 'vdw_gallery_id'), $atts));

    if($key && array_key_exists($key, $meta)) {

        return $meta[$key][0];
   }
    exit;
 }
 ?>

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019
You can replace with

from : wp_enqueue_script('gallery-metabox', plugin_dir_url( __FILE__ ) .'/css/owl.css', array(), null, 'all' );
     /*wp_enqueue_style( 'owl-carousel' );*/

To : wp_enqueue_style('gallery-metabox', plugin_dir_url( __FILE__ ) .'/css/owl.css', array(), null, 'all' );
     /*wp_enqueue_style( 'owl-carousel' );*/

И убедитесь, что вы можете получить css и js в исходном коде (ctrl + u)

0 голосов
/ 05 ноября 2019

Вы можете получить изображение объекта, используя следующий код

$images = get_post_meta($post->ID, 'vdw_gallery_id', true);
foreach ($images as $image) {
    $image_obj = get_post($image);
    echo $image_obj->post_excerpt;
}
...