我在我的子主题 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 POWINIEN BYĆ 登录表格 LUB NAPIS „WITAJ ZALOGOWANY”!”

它应该在第一个 div 内:<div class="et_pb_row">
但它显示在页面标题之后。你知道为什么会这样吗?

提前致谢。
但它恰好显示在网站上的所有内容之前。

最佳答案

请参阅 http://codex.wordpress.org/Shortcode_API 了解短代码的作用。在短代码函数中,您应该始终返回在短代码操作中完成的处理结果。一旦钩子(Hook)被执行,回显它就会输出它,而不是被插入到它应该在的地方。

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

关于Wordpress 简码 - 页面上的奇怪位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26075708/

10-12 12:41
查看更多