Wordpress短代码 - 页面上的奇怪位置

时间:2014-09-27 14:34:01

标签: wordpress shortcode

我在子主题functions.php文件中创建了短代码。 shortcode如下:

function add_login_form() {
if ( is_user_logged_in() )
{
    echo 'Witaj zalogowany';
}
else 
{
    wp_login_form();
}
}
add_shortcode('login_form', 'add_login_form');

我在网站(测试区域)添加了短代码[login_form]http://s540141209.domenaklienta.pl/wordpress/konto-klienta/

文字后添加到网站: “TUTAJ POWINIENBYĆ登录形式LUB NAPIS”WITAJ ZALOGOWANY“!”

应该在第一个div内:<div class="et_pb_row">

但它显示在页面标题之后。你知道为什么会这样吗?

Thansk提前。 但它碰巧显示在网站上的所有内容之前。

1 个答案:

答案 0 :(得分:6)

请参阅http://codex.wordpress.org/Shortcode_API有关短代码的行为方式。在短代码功能中,您应始终返回在短代码操作中完成的处理结果。回声它会在挂钩执行后立即输出,而不是插入它应该的位置。

function add_login_form() {
if ( is_user_logged_in() )
{
    return 'Witaj zalogowany';
}
else 
{
    return wp_login_form(array('echo'=>false));
}
}
add_shortcode('login_form', 'add_login_form');

对于wp_login_form的所有参数,请参阅http://codex.wordpress.org/Function_Reference/wp_login_form