-4

我想完成这项工作,但我不知道如何:

add_filter( 'the_content', 'my_the_content_filter', 999999 );

function my_the_content_filter( $content ) {

    $content = str_replace
    ('<h3>', '<a href="<?php echo $url; ?>">click here</a><h3>',        $content,);

    return $content;
}

在哪里

 echo $url;

是称为 url 的自定义帖子字段。

4

4 回答 4

3

这是一个字符串:

'<a href="<?php echo $url; ?>">click here</a><h3>'

如果您知道$url(并且您确实知道),则不需要echo它。例如,您可以使用字符串连接来添加它。尝试这个。

'<a href="'.$url.'">click here</a><h3>'
于 2013-07-04T14:59:35.617 回答
0

除非我错过了一些重要的东西,否则只需将变量放在字符串中:

$content = str_replace('<h3>', '<a href="'.$url.'">click here</a><h3>', $content,);

您还需要发送$url到该函数,或将其设为全局变量。

阅读字符串连接: http: //php.net/manual/en/language.operators.string.php

于 2013-07-04T14:59:56.127 回答
0

更改'<a href="<?php echo $url; ?>">click here</a><h3>''<a href="'.$url.'">click here</a><h3>'

于 2013-07-04T14:59:58.590 回答
0

对不起,你做错了。这样,您要么稍后需要 eval(),要么需要一个(或多个)全局变量 - 两者都是邪恶的。

构建一个类,为它提供所有需要的变量,然后执行 str_replace/preg_replace/whatever。或使用众多模板引擎之一。

于 2013-07-04T15:04:03.347 回答