繁体   English   中英

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

[英]get_permalink not working because of apostrophes?

在我的帖子中实施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 URL格式不正确”。 我认为这与以下事实有关:在代码的开头和结尾都有撇号。 删除撇号将破坏整个页面,并且get_permalink无法正常工作。

您的字符串中有错误。 首先,问题在于PHP -code内,这意味着您不需要打开/关闭标签即可使用函数(即使是在字符串中)。

此外,可以使用单引号( ' )。 使用单引号时,不会执行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>';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM