2013-04-24 18 views
0

我需要修改Wordpress插件(付費會員專業版)顯示摘錄的方式,這實際上已成爲2部分問題。修改Wordpress插件 - 付費會員專業

第一部分:有人可以指示我正確修改插件的方向嗎?是否有類似你可以在覈心上使用的鉤子/過濾器?

有趣的部分:

我想修改這段代碼,以確保只有1段顯示,無論它的長度。如果該段落短於55個字符,則顯示整個事物,僅此而已。如果超過55個字符,則顯示55個字符,僅此而已。

下面是來自插件代碼:

//if show excerpts is set, return just the excerpt 
    if(pmpro_getOption("showexcerpts")) 
    {   
     //show excerpt 
     global $post; 
     if($post->post_excerpt) 
     {        
      //defined exerpt 
      $content = wpautop($post->post_excerpt); 
     } 
     elseif(strpos($content, "<span id=\"more-" . $post->ID . "\"></span>") !== false) 
     {    
      //more tag 
      $pos = strpos($content, "<span id=\"more-" . $post->ID . "\"></span>"); 
      $content = wpautop(substr($content, 0, $pos)); 
     } 
     elseif(strpos($content, 'class="more-link">') !== false) 
     { 
      //more link 
      $content = preg_replace("/\<a.*class\=\"more\-link\".*\>.*\<\/a\>/", "", $content); 
     } 
     else 
     { 
      //auto generated excerpt. pulled from wp_trim_excerpt 
      $content = strip_shortcodes($content); 
      $content = str_replace(']]>', ']]&gt;', $content); 
      $content = strip_tags($content); 
      $excerpt_length = apply_filters('excerpt_length', 55); 
      $words = preg_split("/[\n\r\t ]+/", $content, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY); 
      if (count($words) > $excerpt_length) { 
       array_pop($words); 
       $content = implode(' ', $words); 
       $content = $content . "... "; 
      } else { 
       $content = implode(' ', $words) . "... "; 
      } 

      $content = wpautop($content); 
     } 
    } 

謝謝!

回答

2

那麼,修改別人的插件通常是一個壞主意,因爲如果他們更新它,你可能會失去你的更改或者你將無法更新(儘管發生意外)。

除修改之外的另一個選項可能是設置跨度或div的最大高度或寬度。或者在頁面加載時使用JavaScript/jquery來獲取內容並縮短它。或者使用一個wordpress過濾器來過濾發佈的內容,當它被加載之後,但在它出現之前。

我個人會發現它周圍的div並設置最大尺寸。它很容易,快速和可配置。

如果您絕對必須修改插件。我會建議複製它,重命名它,然後在那裏進行更改。然後,當有更新時,您可以更新,再次複製並手動添加更改。或者沿着這條線。

您還可以查看插件使用的任何過濾器。掛鉤不僅僅用於核心。所有插件都應該使用它們(我不會使用任何沒有的插件),並且可以使用掛鉤輕鬆修改任何插件。這就是他們在那裏。這太棒了,因爲這意味着wordpress中的任何內容都可以改變。

+0

剛剛使用您的最大高度/溢出技巧結束。最終我會重新審視這個,但現在它的工作。 – mchandleraz 2013-05-20 18:56:53