是否在子主题中创建快捷代码?

时间:2014-04-08 作者:Hommer Smith

我已经创建了一个子主题,我正在尝试为其功能添加一个短代码。php文件,通过执行以下操作:

// functions.php of child theme

<?php 

include(WP_CONTENT_DIR . \'/graduates_functions.php\');

?>

// graduates_functions.php

<?php

// [bartag foo="foo-value"]
function sayhi_func( $atts ) {

    extract( shortcode_atts( array(
        \'graduate_type\' => \'seo\',
        \'bar\' => \'something else\',
    ), $atts ) );
    echo \'test\';
}

add_shortcode( \'sayhi\', \'sayhi_func\' );

?>
但是当我在页面上做[说嗨]时,我看不到回声,我看到[说嗨]。如果我在函数中添加相同的内容,它就会起作用。php的主题本身,而不是子主题。

有什么想法吗?

1 个回复
SO网友:rank

短代码不会“回声”,它们需要“返回”一些东西。因此,我想如果您将函数内容放在ob\\u start和ob\\u get\\u clean之间,那么您可以返回中间的所有内容:

function yourfunction(){ ob_start(); /* insert here the code of your function */ $output = ob_get_clean(); return $output; }

结束

相关推荐

Manipulated shortcode output

我开发的一个注册短代码的插件有问题。短代码返回一个包含有效HTML的字符串,但一些主题似乎操纵了短代码返回的HTML,我真的不明白原因是什么。例如,这是我的短代码的正确输出:<div class=\"tile\"> <a> <img src=\"0.jpg\" /> <div class=\"caption\"> <p>Kate</p> </div&