Wordpress: как добавить заголовок, выровненный по краю изображения - PullRequest
0 голосов
/ 28 ноября 2009

Так как же выровнять заголовок изображения под тегом изображения к его правому краю?

Пробовал с использованием div, но, очевидно, это не разрешено в wp.

Какие альтернативные css / теги мне нужно использовать?

Ответы [ 3 ]

1 голос
/ 20 мая 2010

Я придумал способ указать выравнивание на основе подписи.

По сути, я скопировал шорткод заголовка из media.php и превратил его в свою собственную пользовательскую функцию, которая принимает аргумент "captionalign".

Чтобы использовать, вставьте приведенный ниже код в файл «function.php» вашей темы - это позволит вам указать опцию в вашем теге заголовка с именем captionalign. Установив это значение вправо, влево или по центру, вы можете указать выравнивание текста для каждого заголовка. Если оставить этот атрибут, заголовок по умолчанию будет иметь то же значение, что и у вас по умолчанию.

Пример использования:

[caption align="aligncenter" width="300" caption="My caption" captionalign="right"]
<a href="http://www.myawesomeblog.com/wp-content/uploads/2010/05/image.jpg">
<img title="My image" src="http://www.myawesomeblog.com/wp-content/uploads/2010/05/image.jpg-300x216.jpg" alt="My image" width="300" height="216" />
</a>
[/caption]

А вот и функция:

add_shortcode('wp_caption', 'custom_img_caption_shortcode');
add_shortcode('caption', 'custom_img_caption_shortcode');

/**
 * The Caption shortcode.
 *
 * Allows a plugin to replace the content that would otherwise be returned. The
 * filter is 'img_caption_shortcode' and passes an empty string, the attr
 * parameter and the content parameter values.
 *
 * The supported attributes for the shortcode are 'id', 'align', 'width', and
 * 'caption'.
 *
 * @since 2.6.0
 *
 * @param array $attr Attributes attributed to the shortcode.
 * @param string $content Optional. Shortcode content.
 * @return string
 */
function custom_img_caption_shortcode($attr, $content = null) {

// Allow plugins/themes to override the default caption template.
$output = apply_filters('img_caption_shortcode', '', $attr, $content);
if ( $output != '' )
    return $output;

extract(shortcode_atts(array(
    'id'    => '',
    'align' => 'alignnone',
    'width' => '',
    'caption' => '',
    'captionalign' => ''
), $attr));

if ( 1 > (int) $width || empty($caption) )
    return $content;

if ( $id ) $id = 'id="' . esc_attr($id) . '" ';

return '<div ' . $id . 'class="wp-caption ' . esc_attr($align) . '" style="width: ' . (10 + (int) $width) . 'px">'
. do_shortcode( $content ) . '<p class="wp-caption-text" style="text-align:' . $captionalign . '">' . $caption . '</p></div>';
}

Надеюсь, это кому-нибудь поможет!

1 голос
/ 28 ноября 2009

Разве это не работает?

.wp-caption p.wp-caption-text {text-align: right; }

0 голосов
/ 10 декабря 2009

На вопрос на форуме сайта сообщества Wordpress тоже нет ответа, так что, предположительно, это не является функцией 2.2.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...