簡體   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