[英]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.