0

我一直在为我的自定义元框使用 WPAlchemy。我通常可以使用类似的东西来显示肉盒值,<?php $custom_mb->the_value('summary'); ?>但是在 genesis 子主题中显示数据时遇到问题。如果使用上面的示例,我可以显示帖子,但它位于页面的最顶部,甚至在标题上方。所以我试图genesis_post_content用这个钩入钩子

 add_action('genesis_post_content', 'meta_content');
function meta_content() { 
echo "Hello World";
}

我可以以这种方式回显 Hello World,但在尝试函数中的第一个示例时会收到错误。任何帮助将不胜感激。

4

1 回答 1

0

我不知道 Genesis,我不使用 WPAlchemy(我避免像火一样的“框架”),但我的逻辑表明,如果您可以像您描述的那样在页面顶部看到值(上面的标题),那么该方法the_value()正在执行direct echo,你需要一个return值。

内部的 wordpress 核心逻辑规定,无论何时你有一个 echo 函数(例如the_title()),你都可能有一个等效的返回函数(eg get_the_title()),并且它会获得相同的函数名称和添加的get_前缀。

如果将相同的 wordpress 逻辑应用于那些“框架”,或者在这种情况下应用于 WPAlchemy 类,那么而不是

$custom_mb->the_value('summary'); // if this is direct echo

你应该能够做到:

$custom_mb->get_the_value('summary'); // then this should be return

请注意,我没有对其进行测试(没有使用那些“框架”,还记得吗??)但是如果确实是 WPAlchemy 的情况,那么您就不需要调用 genesis 过滤器(这本身似乎有点错误,因为the_content过滤器应该关于 the_content 而不是关于 meta_data 但不知道起源我真的不能说)

于 2013-05-11T05:09:18.747 回答