2017-04-18 5 views
1

Voici mon code pour inscrire registre widget de la barre latéraleconflit avec la fonction Widget

// Sidear

add_action('widgets_init', 'comet_sidebar'); 

function comet_sidebar() { 
    register_sidebar(array(
     'name'   => __('Right Sidebar', 'comet'), 
     'description' => __('Put Right Sidebar here', 'comet'), 
     'id'   => 'right-sidebar', 
     'before_widget' => '<div class="widget">', 
     'after_widget' => '</div>', 
     'before_title' => '<h6 class="upper">', 
     'after_title' => '</h6>', 
    )); 

    register_sidebar(array(
     'name'   => __('Footer Left', 'comet'), 
     'description' => __('Put Footer Sidebar here', 'comet'), 
     'id'   => 'footer-left', 
     'before_widget' => '<div class="col-sm-4"><div class="widget">', 
     'after_widget' => '</div></div>', 
     'before_title' => '<h6 class="upper">', 
     'after_title' => '</h6>', 
    )); 

    register_sidebar(array(
     'name'   => __('Footer Right', 'comet'), 
     'description' => __('Put Footer Sidebar here', 'comet'), 
     'id'   => 'footer-right', 
     'before_widget' => '<div class="col-sm-4"><div class="widget">', 
     'after_widget' => '</div></div>', 
     'before_title' => '<h6 class="upper">', 
     'after_title' => '</h6>', 
    )); 

} 

Et voici mes autres fichiers php. J'ai besoin

if(file_exists(dirname(__FILE__). '/gallery.php')) { 
    require_once(dirname(__FILE__). '/gallery.php'); 
} 

Code pour gallery.php

<?php 


add_shortcode('gallery', 'comet_gallery'); 

function comet_gallery($attr, $content) { 
    $att = shortcode_atts(array(
     'ids' => '', 
    ), $attr);   

    extract($att); 

    $idd = explode(',', $ids); 

    ob_start(); ?> 
    <div data-options="{&quot;animation&quot;: &quot;slide&quot;, &quot;controlNav&quot;: true" class="flexslider nav-outside"> 
     <ul class="slides"> 
      <?php foreach($idd as $id) : ?> 
      <?php $musa = wp_get_attachment_image_src($id, 'full'); ?> 

      <li><img src="<?php echo $musa [0]; ?>"></li> 
      <?php endforeach; ?> 
     </ul> 
    </div> 

    <?php return ob_get_clean(); 

} 

Lorsque ce fichier je avais besoin. Mon paramètre de widget ne fonctionne pas correctement. Si j'enlève ce fichier require. Cela fonctionne parfaitement. Merci

+0

qu'est-ce que vous avez dans gallery.php Et ce qui se passe exactement Seuls les paramètres du widget ne fonctionnent pas correctement ou que vous obtenez tout en blanc/page cassée? – Gazi

+0

J'ai ajouté le code de gallery.php – Musarrof

+0

Je viens d'éditer ma réponse ci-dessous. – Gazi

Répondre

1

Je ne pense pas que return ob_get_clean(); est correct.

Essayez ceci:?

<?php 
add_shortcode('gallery', 'comet_gallery'); 

function comet_gallery($attr, $content) { 
    $att = shortcode_atts(array(
     'ids' => '', 
    ), $attr);   

    extract($att); 

    $idd = explode(',', $ids); 
?> 
    <div data-options="{&quot;animation&quot;: &quot;slide&quot;, &quot;controlNav&quot;: true" class="flexslider nav-outside"> 
     <ul class="slides"> 
      <?php foreach($idd as $id) : ?> 
      <?php $musa = wp_get_attachment_image_src($id, 'full'); ?> 

      <li><img src="<?php echo $musa [0]; ?>"></li> 
      <?php endforeach; ?> 
     </ul> 
    </div> 

    <?php return $content; 

} 
function comet_gallery_start() { ob_start("comet_gallery"); } 
function comet_gallery_end() { ob_end_flush(); } 
add_action('wp_head', 'comet_gallery_start'); 
add_action('wp_footer', 'comet_gallery_end'); 

et

require_once(TEMPLATEPATH."/gallery.php");