永久链接不能从function.php翻译

时间:2014-02-22 09:30:49

标签: php wordpress function

新手到wordpress这里。

我正在尝试为我博客上的所有图片添加一个fb共享按钮,并将其添加到functions.php中:

    function breezer_addDivToImage( $content ) {

   // A regular expression of what to look for.
   $pattern = '/(<img([^>]*)>)/i';
   // What to replace it with. $1 refers to the content in the first 'capture group', in parentheses above
   $replacement = '<div class="myphoto">$1<a href="http://www.facebook.com/sharer.php?u=<?php echo get_permalink(); ?>" class="facebook-share-btn fb-" data-fsb-service="facebook" data-href="<?php echo get_permalink(); ?>" rel="nofollow" target="_blank">Share on Facebook</a></div>';

   // run preg_replace() on the $content
   $content = preg_replace( $pattern, $replacement, $content );

   // return the processed content
   return $content;
}

add_filter( 'the_content', 'breezer_addDivToImage' );

效果很好,除了固定链接没有翻译的事实(它正在共享php)。有一些简单的事情,我知道我做错了。非常感谢任何帮助。

干杯!

2 个答案:

答案 0 :(得分:0)

单引号字符串内部按原样放置,它们不会被转换...所以你可以使用点运算符来连接生成的永久链接...否则你需要转义引号...以下示例使用字符串conctenation

   $replacement = '<div class="myphoto">$1<a href="http://www.facebook.com/sharer.php?u='.get_permalink().'" class="facebook-share-btn fb-" data-fsb-service="facebook" data-href="'.get_permalink().'" rel="nofollow" target="_blank">Share on Facebook</a></div>';

答案 1 :(得分:0)

那是因为您正在将PHP代码写入字符串:

$replacement = '<div class="myphoto">$1
<a href="http://www.facebook.com/sharer.php?u=' . get_permalink() . '" class="facebook-share-btn fb-" data-fsb-service="facebook" data-href="' . get_permalink() . '"... 

试试