Intereting Posts
Создайте шаблон макета default_content на основе идентификатора сообщения term_exists возвращает NULL Расширенные пользовательские поля и галерея слайд-шоу не работают вместе? Как отобразить выбранную категорию get_categories? Интернационализировать плагин, поэтому строки могут быть переведены в WPML Хранить снимок, созданный с помощью WordPress для использования с лайтбокс Есть ли причина, по которой использование одного и того же файла wp-config может не работать в MAMP? Есть ли способ отключить форматирование ярлыков в 4.3? Как получить прикрепленный файл в WordPress из пользовательского сообщения Экспорт только сообщений определенной категории Получить текущую таксономию и отобразить запрос соответственно Как удалить тег? Запрос запроса Сортировка сообщений по пользовательским полям в meta_query Как обновить метаданные wp_postmeta WordPress, содержащие множество опций

Удалить гиперссылку на короткий код галереи

Я использую короткий код галереи в моем index.php (каталог тем), чтобы отобразить 3 окна изображений. Изображения извлекаются из моего носителя.

<div class="well well-clear" style="padding-bottom: 0; margin-bottom: 0;"> <?php echo do_shortcode(''); ?> </div> 

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

Я новичок в WordPress, пожалуйста, не грузите меня.

Обновить:

Похоже, что в конце концов существует атрибут link="none" 😉

Например:

 [gallery link="none" ids="165,166,167"] 

Поэтому нам не нужно изобретать колесо, как в моих предыдущих ответах 😉

Previous: плагин для обработки link="no" в коротком кодеге галереи:

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

Вы можете использовать link="no" для удаления ссылок, например:

 [gallery link="no" ids="165,166,167"] 

Создайте папку /wp-content/plugins/gallery-without-links/ и добавьте в gallery-without-links.php файл gallery-without-links.php , содержащий следующий код:

 <?php /** * Plugin Name: Gallery without links * Plugin URI: http://wordpress.stackexchange.com/a/130349/26350 * Description: Gallery with the link='no' option to remove links. */ /** * Init the WPSE_No_Gallery_Links class */ if( ! class_exists( 'WPSE_No_Gallery_Links' ) ): add_action( 'init', array( 'WPSE_No_Gallery_Links', 'get_instance' ) ); class WPSE_No_Gallery_Links { static private $instance = NULL; protected $nrofimgs = 0; protected $counter = 0; public function __construct() { add_filter( 'shortcode_atts_gallery', array( $this, 'shortcode_atts_gallery' ) ); } static public function get_instance() { if ( NULL === self :: $instance ) self :: $instance = new self; return self :: $instance; } public function wp_get_attachment_link( $link ){ $this->counter++; if( $this->counter >= $this->nrofimgs ) { $this->counter = 0; remove_action( 'wp_get_attachment_link', array( $this, 'wp_get_attachment_link' ) ); } return strip_tags( $link, '<img>' ); } public function shortcode_atts_gallery( $atts ) { if( 'no' === $atts['link'] ) { if( isset( $atts['include'] ) ) { $this->nrofimgs = count( explode( ',', $atts['include'] ) ); add_action( 'wp_get_attachment_link', array( $this, 'wp_get_attachment_link' ) ); } } return $atts; } } // end of class endif; 

Предыдущий ответ:

Вот одна идея:

В wp_get_attachment_link() галереи используется wp_get_attachment_link() для создания ссылки на каждое изображение в галерее. Поэтому мы можем использовать фильтр wp_get_attachment_link для wp_get_attachment_link тегов <a> .

Затем вы можете изменить фрагмент кода, чтобы:

 <div class="well well-clear" style="padding-bottom: 0; margin-bottom: 0;"> <?php add_action( 'wp_get_attachment_link', 'custom_wp_get_attachment_link' ); echo do_shortcode('[gallery ids="165,166,167"]'); remove_action( 'wp_get_attachment_link', 'custom_wp_get_attachment_link' ); ?> </div> 

где:

 /** * Strip all tags except the <img> tag */ function custom_wp_get_attachment_link( $link ) { return strip_tags( $link, '<img>' ); }