以下函数是写入插件核心的代码的一部分我是逆向工程。它的问题是我需要对它执行str_replace而我不能,因为它已经设置为echo。
功能是。
function similar_posts($args = '') {
echo SimilarPosts::execute($args);
}
我使用similar_posts()
在我的页面中调用它,但我在主题中真正需要做的是调用$related = similar_posts()
,但该函数设置为echo。我该如何改变呢。
我试过了。
function get_similar_posts($args = '') {
SimilarPosts::execute($args);
}
但这并没有产生任何结果。
答案 0 :(得分:3)
function get_similar_posts($args = '') {
return (SimilarPosts::execute($args));
}
答案 1 :(得分:2)
答案 2 :(得分:2)
如果您想使用SimilarPosts::execute ($args)
次返回值,则需要在get_similar_posts
内使用关键字“return”。
function get_similar_posts ($args = '') {
return SimilarPosts::execute($args);
}
如果您无法更改get_similar_posts
的定义,即使它已设置为“回显”,也有办法抢夺similar_posts
打印的内容。
这可以通过使用PHP中提供的Output Control Functions来实现。
function echo_hello_world () {
echo "hello world";
}
$printed_data = "";
ob_start ();
{
echo_hello_world ();
$printed_data = ob_get_contents ();
}
ob_end_clean ();
echo "echo_hello_world () printed '$printed_data'\n";
输出
echo_hello_world () printed 'hello world'
答案 3 :(得分:1)
将函数包含在使用output buffering.
的另一个函数中答案 4 :(得分:1)
完成它..
function get_similar_posts($args = '') {
return SimilarPosts::execute($args);
}
并在页面get_similar_posts();
应该想到这一点。
答案 5 :(得分:1)
return
:
function get_similar_posts($args = '') {
return SimilarPosts::execute($args);
}