我在我的子主题 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/