Красная строка – плагин

Есть такой плагин как dropcap-first-character – классная штука, делает красивую первую букву в посте при помощи css. Но есть один вопрос – все работает нормально, если пост не начинается с картинки. Если же есть картинка, то никакой красной строки не получается. Можно ли это как-то исправить – вот это и есть вопрос для знатоков.

я такое когда-то руками делал, просто был класс и я писал <p class.. все ок было.

я такое когда-то руками делал, просто был класс и я писал <p class.. все ок было.

не ну руками это слишком мучительно)

Я б сделала как mikolka говорит. можно «автоматизировать». слегка. вот наводка:

Свой стиль для визуального редактора — плагин Advanced TinyMCE


получится не руками, но мышкой клинкуть один раз все же прийдется 🙂

Я б сделала как mikolka говорит. можно «автоматизировать». слегка. вот наводка:
Свой стиль для визуального редактора — плагин Advanced TinyMCE
получится не руками, но мышкой клинкуть один раз все же прийдется :)

спасибо за наводку)
скажите, а неужели нельзя как-то поправить плагин, чтобы и в случае с картинкой в начале поста красная строка ставилась? Там вот что:
Стиль

p.dropcap-first:first-letter {
color: #D4D4C7;
float: left;
font-size:80px;
line-height:60px;
padding-top:4px;
padding-right:5px;
font-family: Times, serif, Georgia;
}

.php

<?php
function dropcap_header() {
    echo('<link rel="stylesheet" type="text/css" media="screen" href="' . get_bloginfo('wpurl') . '/wp-content/plugins/dropcap_first/dropcap_style.css" />');
}

add_action('wp_head', 'dropcap_header');

function dropcap_first($content='') { 
    $pos = strpos($content, '<p>');
/* Since stripos is only available in fairly new PHP versions we'll  */
/* live with using the case sensitive version so it won't match <P> */
/*     $pos = stripos($content, '<p>'); */
    if (($pos !== 0) || ($pos === false)) {
        return '<p class="dropcap-first">' . $content; 
    } else {
        return '<p class="dropcap-first"' . stristr($content, '>'); 
    }
}

add_filter('the_content', 'dropcap_first', 7);

?>

$rest = substr("abcdef", -1, 0); Можно получить "а"
$rest3 = substr("abcdef", 1); // вернет "bcdef"
$rest1 = "<FONT ……>".$rest."</FONT>".$rest3;
Вот и первый символ красной строки, только вот куда это воткнуть нужно подумать.

Поручики, молчать!

http://www.htmlbook.ru/content/?id=111

Поручики, молчать!

http://www.htmlbook.ru/content/?id=111

то что надо, спасибо!

есть один момент – а как можно отменить этот стиль в конкретном месте?
Например, в футере копирайты идут в тэгах <p>, а если их банально убрать – вся верстка разлазится.

Как отменить не знаю, а как применить в конкретном месте – подскажу:
.entry p:first-letter {}

а если так
function dropcap_first($content=”) {
$pos = strpos($content, ‘<p>’);
if (($pos !== 0) || ($pos === false)) {
return ‘<p style=’……..’>’ . $content;
} else {
return ‘<p style=’……..’>’ . stristr($content, ‘>’);
}
}

Как отменить не знаю, а как применить в конкретном месте - подскажу:
.entry p:first-letter {}

Не, ну тут же фишка в том, чтобы автоматизировать процесс))
Поэтому я использую третий способ по вашей ссылке и прописываю стиль прямо в style.css
Ладно, буду как-то футер переписывать

brainsolid, у Вас что, футер обернут в div class="entry" что буквицы в футер аж залазят?

brainsolid, у Вас что, футер обернут в div class="entry" что буквицы в футер аж залазят?

чееееерт, я ступил.
Поставил стиль просто на p. Sonika, спасибо)))

brainsolid, у Вас что, футер обернут в div class="entry" что буквицы в футер аж залазят?

И все-таки вопрос опять стал актуален)
Например, буковица появляется на странице с архивом опросов и все портит. Можно ли отменить стиль в конкретном месте?

Отменить – вряд ли, переопределить – можно где угодно.

Отменить - вряд ли, переопределить - можно где угодно.

а что значит переопределить и как это сделать?)

В любом месте кода определить свой стиль, он перебьет тот, что в style.css

в файлах Темы, задаем один класс для архивов и другой класс для остального вывода, вместо div class="entry" пишем:

div class="<?php if (is_archive()) echo 'entry1'; else echo 'entry'; ?>"
в файлах Темы, задаем один класс для архивов и другой класс для остального вывода, вместо div class="entry" пишем:
div class="<?php if (is_archive()) echo 'entry1'; else echo 'entry'; ?>"

спасибо, буду пробовать.

Anonymous
Отправить
Ответ на: