2015-01-12 3 views
1

Было интересно, может ли кто-нибудь дать мне руку, используя preg_replace в Wordpress, чтобы изменить способ ссылки на функцию изображений.preg_replace, чтобы добавить раскрытие фундамента в wordpress ссылки изображения

Так в настоящее время с MooTools LazyLoad поддержки я получил его сплевывая:

<a href='http://localhost:8080/wp-content/uploads/2015/01/2014-11-26-20.52.53.jpg'><img width="150" height="150" src="http://localhost:8080/wp-content/uploads/2015/01/2014-11-26-20.52.53-150x150.jpg" class="attachment-thumbnail" alt="2014-11-26 20.52.53" /></a> 

В идеале я хотел бы, чтобы это все ссылки уменьшенных нагрузок в Фонде Reveal Modal с кодом, как это:

<a href="#" data-reveal-id="2014-11-26-20.52.53"> 
<img src="http://localhost:8080/wp-content/uploads/2015/01/2014-11-26-20.52.53-150x150.jpg"> 
</a> 

<div id="2014-11-26-20.52.53" class="reveal-modal" data-reveal> 
<img src="http://localhost:8080/wp-content/uploads/2015/01/2014-11-26-20.52.53.jpg"> 
<a class="close-reveal-modal">&#215;</a> 
</div> 

Любые предложения? Я попытался разбить какой-то похожий код, но preg_replace не самый простой синтаксис для изучения.

+1

почему вы хотите удалить абсолютный URL? Wordpress добавляет это автоматически, когда вы переместите его на другой URL-адрес, вы установите URL-адрес сайта, и он отобразится правильно. – Augwa

+0

А это было просто для удаления http: // localhost: 8080/url, поскольку я работаю над бродягой в данный момент, и stackoverflow жаловался на использование этого в пути. – Blair

+0

Ах, дайте мне сделать это, если он в коде nm! – Blair

ответ

0

Хорошо, так что я близко:

add_filter('the_content', 'addreveal', 12); 
add_filter('get_comment_text', 'addreveal'); 

function addreveal ($content){ 
    global $post; 
    $pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i"; 
    $replacement = '<a$1href="#" data-reveal-id="myModal">$7</a> <div id="myModal"  class="reveal-modal" data-reveal> <img src="$3.$4"> <a class="close-reveal-modal">&#215;</a> </div> '; 
    $content = preg_replace($pattern, $replacement, $content); 
    return $content; 

}

Однако я немного запутался с переменной $ 7 - я хотел бы разделить это,/и сделать имя файла без расширение идентификатора данных-идентификатора. Какие-либо предложения?

+0

Поиграть здесь: http://www.regexr.com/3a706 – ioseph

0

Это работает для меня после некоторых незначительных настроек для Фонда 6

add_filter('the_content', 'addreveal', 12); 
add_filter('get_comment_text', 'addreveal'); 

function addreveal ($content) { 
    global $post; 
    $pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i"; 
    $replacement = '<a$1href="#" data-open="full">$7</a> 
    <div id="full" class="full-image reveal" data-reveal> 
     <div class="modal-container"> 
      <img src="$3.$4"> 
      <button class="close-button" data-close aria-label="Close reveal" type="button"></button> 
     </div> 
    </div>'; 
    $content = preg_replace($pattern, $replacement, $content); 
    return $content; 
}