Intereting Posts
Насколько ресурсоемким является wp_register_script ()? Какова возможность доступа к WP-Admin? Прикрепление пользовательской таксономии к сообщениям? Следует ли сбросить 'setup_postdata ()' с помощью 'wp_reset_postdata ()'? <! – nextpage -> и превью Как получить текущий идентификатор страницы редактирования в администраторе? как активировать плагин в масштабах сети и сохранять настройки на разных сайтах Переписывание базового имени Таксономия же Тип сообщения Перетаскивание меню метаданных перетаскивания Значки социальных медиа не отображаются для каждого сообщения Изменить URL-адрес меню администратора плагина Определите, есть ли у Термы бабушка / дедушка или бабушка On Multisite: Loop для отображения первых четырех изображений последних сообщений по всей сети Меню администратора левой руки WordPress всегда сворачивается WooCommerce – многократный мета-запрос не работает

Как вы изменяете вывод HTML элемента «Галерея» (используя короткий код галереи)?

Я немного потерял эту простую проблему, поэтому я думал, что я пришел и попрошу профессионалов. Мне только что сказал мой клиент, что на галерее их сайтов имя и описание находятся на одной строке.

например, если изображение называется ABC, а описание – «123».

вывод «ABC-123» все на одной строке. Ид выглядит так:

-------- | Picture | -------- ABC-123 

Она хочет имя на одной строке, а описание на другом – вот так:

  -------- | Picture | -------- ABC 123 

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

На идентификаторе выходного кода просто введите быстрый тег «br» или что-то в этом роде, но снова, я не знаю, где это сделать. Как работа, я пошел вперед на моем локальном сервере и в области подписи к галереям, я поставил «ABC
123 ", и это сработало. Оно помещает имя и описание на 2 строки, но в этой галерее есть много изображений, и я уверен, что это нечто более чистое и элегантное, чем это обходное решение.

любые идеи о том, где я могу редактировать код? im, используя последнюю версию WP и все, хотя моя тема – обычай, но в основном по умолчанию и ничего не смущает.

im просто интересно, когда вы добавляете код галереи, например , какая страница или блок кода это ссылка?

Заранее спасибо

Предположим, что ваша тема НЕ сворачивает собственный собственный ярлык в галерее, и давайте предположим, что вы используете короткий код [gallery], а не почтовый формат галереи. То, что вы ищете, это функция «gallery_shortcode» в wp-includes/media.php вокруг строки 750 ( wp-includes/media.php 3.3.1). Вот где HTML-вывод ваших элементов галереи жестко запрограммирован.

Конечно, мы не можем (ну, мы действительно не должны) редактировать или изменять какие-либо из основных файлов WordPress, поэтому мы должны смотреть на другие способы подключиться, фильтровать или иным образом улучшать встроенные функции с помощью собственных добавить информацию «название» и «описание», которую вы хотите для каждого приложения. К сожалению, поскольку кодированный код галереи был закодирован, нет удобного фильтра, который позволяет добавлять к содержимому каждого элемента галереи (что заставляет меня думать, что неплохо было бы представить запрос на улучшение и патч … hmm …). Поэтому вместо этого нужно заменить всю функцию короткого кода оптовой.

Это не так сложно, как кажется, потому что мы можем просто скопировать и вставить встроенный код в наш собственный плагин, а затем добавить / изменить / калечить все, что захотим.

Вот как вы это сделаете. Чтобы использовать этот код, просто создайте файл под названием «WPSE45326_Gallery_Replacement.php» внутри вашей папки plugins . Затем вам нужно войти в ваш интерфейс администратора и активировать новый плагин. Затем просто убедитесь, что изображения имеют Описание и название.

Примечание: сначала попробуйте это на установке Vanilla WordPress. Если он работает там, но не на сайте вашего клиента, то это потому, что тема, которую вы используете, сворачивает свой собственный код. Это усложнит ситуацию.

 <?php /* Plugin Name: WPSE-45326 Gallery Replacement example Plugin URI: http://wordpress.stackexchange.com/questions/45326 Description: A plugin to demonstrate how to replace the default 'gallery' shortcode and add additional HTML tags for more customization. Version: 1.0 Author: Tom Auger Author URI: http://www.tomauger.com License: GPL2 */ class wpse_45326_Gallery_Replacement { function __construct(){ // Hook on the plugins-loaded action since it's the first real action hook that's available to us. // However, if you're using a theme and want to replace that theme's `gallery` custom shortcode, // you may need to use another action. Search through your parent theme's files for 'gallery' and see // what hook it's using to define it's gallery shortcode, so you can make sure this code runs AFTER their code. add_action( "init", array( __CLASS__, "init" ) ); } function init(){ remove_shortcode( 'gallery' ); // Remove the default gallery shortcode implementation add_shortcode( 'gallery', array( __CLASS__, "gallery_shortcode" ) ); // And replace it with our own! } /** * The Gallery shortcode. * * This has been taken verbatim from wp-includes/media.php. There's a lot of good stuff in there. * All you want to do is add some more HTML to it, and since (for some reason) they didn't provide more * filters to be able to add, we have to replace the Gallery shortcode wholesale. * * @param array $attr Attributes of the shortcode. * @return string HTML content to display gallery. */ function gallery_shortcode($attr) { global $post; static $instance = 0; $instance++; $output = apply_filters('post_gallery', '', $attr); if ( $output != '' ) return $output; if ( isset( $attr['orderby'] ) ) { $attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] ); if ( !$attr['orderby'] ) unset( $attr['orderby'] ); } // NOTE: These are all the 'options' you can pass in through the shortcode definition, eg: [gallery itemtag='p'] extract(shortcode_atts(array( 'order' => 'ASC', 'orderby' => 'menu_order ID', 'id' => $post->ID, 'itemtag' => 'dl', 'icontag' => 'dt', 'captiontag' => 'dd', 'columns' => 3, 'size' => 'thumbnail', 'include' => '', 'exclude' => '', // Here's the new options stuff we added to the shortcode defaults 'titletag' => 'p', 'descriptiontag' => 'p' ), $attr)); $id = intval($id); if ( 'RAND' == $order ) $orderby = 'none'; if ( !empty($include) ) { $include = preg_replace( '/[^0-9,]+/', '', $include ); $_attachments = get_posts( array('include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) ); $attachments = array(); foreach ( $_attachments as $key => $val ) { $attachments[$val->ID] = $_attachments[$key]; } } elseif ( !empty($exclude) ) { $exclude = preg_replace( '/[^0-9,]+/', '', $exclude ); $attachments = get_children( array('post_parent' => $id, 'exclude' => $exclude, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) ); } else { $attachments = get_children( array('post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) ); } if ( empty($attachments) ) return ''; if ( is_feed() ) { $output = "\n"; foreach ( $attachments as $att_id => $attachment ) $output .= wp_get_attachment_link($att_id, $size, true) . "\n"; return $output; } $itemtag = tag_escape($itemtag); $captiontag = tag_escape($captiontag); $columns = intval($columns); $itemwidth = $columns > 0 ? floor(100/$columns) : 100; $float = is_rtl() ? 'right' : 'left'; $selector = "gallery-{$instance}"; $gallery_style = $gallery_div = ''; if ( apply_filters( 'use_default_gallery_style', true ) ) $gallery_style = " <style type='text/css'> #{$selector} { margin: auto; } #{$selector} .gallery-item { float: {$float}; margin-top: 10px; text-align: center; width: {$itemwidth}%; } #{$selector} img { border: 2px solid #cfcfcf; } #{$selector} .gallery-caption { margin-left: 0; } </style> <!-- see gallery_shortcode() in wp-includes/media.php -->"; $size_class = sanitize_html_class( $size ); $gallery_div = "<div id='$selector' class='gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}'>"; $output = apply_filters( 'gallery_style', $gallery_style . "\n\t\t" . $gallery_div ); $i = 0; foreach ( $attachments as $id => $attachment ) { $link = isset($attr['link']) && 'file' == $attr['link'] ? wp_get_attachment_link($id, $size, false, false) : wp_get_attachment_link($id, $size, true, false); $output .= "<{$itemtag} class='gallery-item'>"; $output .= " <{$icontag} class='gallery-icon'> $link </{$icontag}>"; // MODIFICATION: include the title and description HTML if we've supplied the relevant shortcode parameters (titletag, descriptiontag) if ( $captiontag ) { $output .= " <{$captiontag} class='wp-caption-text gallery-caption'>"; // The CAPTION, if there is one if ( trim( $attachment->post_excerpt ) ) { $output .= " " . wptexturize($attachment->post_excerpt); } // The TITLE, if we've not made the 'titletag' param blank if ( $titletag ){ $output .= " <{$titletag} class=\"gallery-item-title\">" . $attachment->post_title . "</{$titletag}>"; } // The DESCRIPTION, if we've not specified a blank 'descriptiontag' if ( $descriptiontag ){ $output .= " <{$descriptiontag} class=\"gallery-item-description\">" . wptexturize( $attachment->post_content ) . "</{$descriptiontag}>"; } $option .= " </{$captiontag}>"; } $output .= "</{$itemtag}>"; if ( $columns > 0 && ++$i % $columns == 0 ) $output .= '<br style="clear: both" />'; } $output .= " <br style='clear: both;' /> </div>\n"; return $output; } } new wpse_45326_Gallery_Replacement(); 

Ну, на всякий случай, кто-то смотрит на это, я решил проблему, вручную вставив тег <br/> в область заголовка.

так, например, если содержание изображений имеет этот образец текста "ABC-123" который выводит это

  -------- | Picture | -------- ABC-123 

то в заголовке я вошел что-то вроде этого ABC<br/>123 который выводит это

  -------- | Picture | -------- ABC 123 

Это простая галерея (с коротким кодом) в Wp, к которой я обращался, и ее попросили указать выше http://deadsilencethemovie.com/?page_id=29 (после тега br), но опять же, это всего лишь обходной путь, пока что-то более законные капли для Wp. (если он уже не был). Спасибо всем.