以前有人遇到过这个问题吗?直接从WordPress调用短代码并通过functions.php调用短代码会产生不同的结果。
Image 1具有不错的设计,因为它是直接从WordPress UI调用的,而Image 2以某种方式搞砸了设计,因为它是从php(functions.php)调用的。
其他信息:
要添加更多信息,我在WordPress中有这行短代码(如图2所示)。
[get_blogs_sc]
在我的functions.php上,我有这个功能,
function GetActiveBlogs($i)
{
$actual_link = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if (preg_match('/sites/',$actual_link))
{
$user_id = get_current_user_id();
if ($user_id > 0)
{
echo do_shortcode('[tablemaster buttons="true" datatables="true" class="black-header-gray-alternate-rows" sql="some select where user_id = '.user_id.'"]', true);
}
}
}
add_shortcode('get_blogs_sc', 'GetActiveBlogs');
但是当我直接从WordPress使用短代码时:
[tablemaster buttons="true" datatables="true" class="black-header-gray-alternate-rows" sql="some select where user_id = 14]
我页面上的显示效果很好(如图1所示)
我将短代码放在php-layer中的目的是让我能够从WordPress中捕获登录用户。
感谢。
答案 0 :(得分:0)
很难从图像中诊断出问题所在!没有代码真正说的。
但是,让我们知道do_shortcode
和add_shortcode
do_shortcode( string $content, bool $ignore_html = false )
搜索内容以获取短代码并通过其挂钩过滤短代码。 它返回(字符串)过滤掉短代码的内容。
// Use shortcode in a PHP file (outside the post editor).
echo do_shortcode( '' );
了解更多信息,请查看link
while add_shortcode
为短代码标记添加一个钩子。
<?php add_shortcode( $tag , $func ); ?>
$标签 (字符串)(必填)要在帖子内容中搜索的短代码标签 默认值:无 $ FUNC (可调用)(必需)在找到短代码时挂钩运行 默认值:无
它什么都不返回,但是当您在帖子区域中编写短代码标签时,它会应用短代码功能以获取更多信息,请检查Link