由于撇号,get_permalink无法正常工作?

时间:2013-12-30 22:55:44

标签: php facebook wordpress

我在帖子中实现Facebook评论框时遇到了问题。我目前正在使用的WordPress主题不使用single.php来构建帖子布局,而是使用某种模块文件。我总是设法通过在过去实现single.php中的代码来使Facebook评论框工作。

构建帖子页面的文件包含一个与我所指的相似的例子

...
} else {
            $buffy .= $this->get_content();
        }

        $buffy .= '<h4 class="block-title"><span>DEEL</span></h4>';
        $buffy .= do_shortcode('[ssba]');

        $buffy .= '<br><h4 class="block-title"><span>REAGEER</span></h4>';
        $buffy .= '<div class="fb-comments" data-href="<?php echo get_permalink(); ?>" data-colorscheme="light" data-numposts="5" data-mobile="false" data-width="700"></div>';

        $buffy .= '<footer class="clearfix">';
        $buffy .= $this->get_post_pagination();
        $buffy .= $this->get_review();
...

如您所见,我添加了以下代码:

$buffy .= '<div class="fb-comments" data-href="<?php echo get_permalink(); ?>" data-colorscheme="light" data-numposts="5" data-mobile="false" data-width="700"></div>';

我收到回复“href网址格式不正确”。我认为它与代码的开头和结尾有撇号这一事实有关。删除撇号会破坏整个页面,get_permalink无法正常工作。

1 个答案:

答案 0 :(得分:1)

您的字符串中有错误。问题首先在于PHP - 代码,这意味着您不需要open / close-tags来使用函数(即使在字符串中)。

此外,您使用单引号(')。使用单引号时,不执行PHP。如果您使用了双引号("),则不需要像我所做的那样连接字符串(但是您必须从标记中删除所有双引号)。

这应该有效:

$buffy .= '<div class="fb-comments" data-href="' . get_permalink() . '" data-colorscheme="light" data-numposts="5" data-mobile="false" data-width="700"></div>';

...或...

$buffy .= "<div class=\"fb-comments\" data-href=\"get_permalink()\" data-colorscheme=\"light\" data-numposts=\"5\" data-mobile=\"false\" data-width=\"700\"></div>';