4

I am struggling to get a simple string replace to work in wordpress the_content function.

<?php 

    $phrase = the_content();
    $find = '<p>';
    $replace = '<p style="text-align: left; font-family: Georgia, Times, serif; font-size: 14px; line-height: 22px; color: #1b3d52; font-weight: normal; margin: 15px 0px; font-style: italic;">';

    $newphrase = str_replace($find, $replace, $phrase);

    echo $newphrase;

?>


It just seems to echoing <p> still.

Instead of <p style="text-align: left; font-family: Georgia, Times, serif; font-size: 14px; line-height: 22px; color: #1b3d52; font-weight: normal; margin: 15px 0px; font-style: italic;">

4

2 に答える 2

7

apply_filters('the_content')段落にWordpressの改行を含めるために使用する必要があります。

<?php 

    $phrase = get_the_content();
    // This is where wordpress filters the content text and adds paragraphs
    $phrase = apply_filters('the_content', $phrase);
    $replace = '<p style="text-align: left; font-family: Georgia, Times, serif; font-size: 14px; line-height: 22px; color: #1b3d52; font-weight: normal; margin: 15px 0px; font-style: italic;">';

    echo str_replace('<p>', $replace, $phrase);

?>

the_contentのコーデックス エントリを参照してください。代替使用セクションにあります。

于 2012-11-15T13:53:03.523 に答える
3

the_content はコンテンツを返しませんが、コンテンツをエコーし​​ます。

変数の内容を取得したい場合は、使用する必要があります

$phrase = get_the_content()

the_content() と同じように、これをループ内で実行する必要があります

于 2012-11-15T12:18:24.987 に答える