2016-03-03 27 views
1

如何更改庫簡碼輸出?在文章中,我們得到:輸出庫簡碼作爲Wordpress中的引導列

[gallery ids="134,127,109"] 

,我需要這樣的東西:

<div class="row gallery"> 
    <div class="col-md-3"> 
     <a href="photo.jpg" data-gallery="gallery"> 
      <img src="photo.jpg" class="img-responsive" /> 
     </a> 
    </div> 
    . . . 
</div> 

這有可能the_content內工作(),所以畫廊過濾功能必須更換。發現了一些關於它的主題,但都是舊的,所以功能發生了變化。如果該函數將尊重在庫中選擇的列的數量並將其更改爲引導類,它也會很好。 有人可以幫助我嗎?

+2

那麼你有什麼嘗試?哪些功能發生了變化?我給你一個提示:使用[post_gallery過濾器](https://codex.wordpress.org/Plugin_API/Filter_Reference/post_gallery) – bitWorking

+0

我已經嘗試使用remove_shortcode/add_shortcode來使用我自己的功能,但老例子告訴複製一些東西從原來media.php的具體行,但在我的檔案中,我不認爲它的權利。 找到函數get_post_gallery,但這不是返回列計數我認爲 – Gekiyaku

回答

3

這應該可以幫助您:

add_filter('post_gallery', 'bootstrap_gallery', 10, 3); 

function bootstrap_gallery($output = '', $atts, $instance) 
{ 
    $atts = array_merge(array('columns' => 3), $atts); 

    $columns = $atts['columns']; 
    $images = explode(',', $atts['ids']); 

    $col_class = 'col-md-4'; // default 3 columns 
    if ($columns == 1) { $col_class = 'col-md-12';} 
    else if ($columns == 2) { $col_class = 'col-md-6'; } 
    // other column counts 

    $return = '<div class="row gallery">'; 

    $i = 0; 

    foreach ($images as $key => $value) { 

     if ($i%$columns == 0 && $i > 0) { 
      $return .= '</div><div class="row gallery">'; 
     } 

     $image_attributes = wp_get_attachment_image_src($value, 'full'); 

     $return .= ' 
      <div class="'.$col_class.'"> 
       <a data-gallery="gallery" href="'.$image_attributes[0].'"> 
        <img src="'.$image_attributes[0].'" alt="" class="img-responsive"> 
       </a> 
      </div>'; 

     $i++; 
    } 

    $return .= '</div>'; 

    return $return; 
} 
+0

它會覆蓋默認的worpress過濾器嗎? – Gekiyaku

+0

它會覆蓋默認的WordPress圖庫..只是測試它。 – bitWorking

+0

工程就像一個魅力! – Gekiyaku

1

通過@bitWorking解決方案是非常好 - 我知道這只是一個快速提示,並啓動代碼,所以這不是抱怨缺少的東西。我只是修改了一下,以修復/添加讓我困擾的事情 - 也許這對某個人來說是有用的:modified code on GitHub

固定/添加 '丟失' 的特點:

  1. 生成縮略圖大小經由WordPress的畫廊面板由用戶設定。
    • 使用完整大小的圖像是浪費帶寬。
    • 如果原始圖像不是相同的大小畫廊可能會出現不好。
    • 如果CMS用戶設置了特定的縮略圖大小並且圖庫會顯示不同的大小/比例,則CMS用戶可能會感到困惑。
  2. 生成縮略圖alt用戶通過WordPress圖庫面板設置的屬性。
  3. 使縮略圖鏈接(通過WordPress圖庫面板設置)正常工作(無,附件頁面,文件)以維護面板的功能並且不會混淆CMS用戶。