我正在尝试将facebook like按钮添加到我博客上的每个帖子中。我已经设法得到我需要添加类似按钮的任何东西,我唯一需要的是,如何访问函数author_bio_display($content)
内的当前帖子的链接,即它所在的位置rawurlencode('post permalink goes here')
?
function author_bio_display($content)
{
$bio_box = '<iframe src="http://www.facebook.com/plugins/like.php?href='. rawurlencode('post permalink goes here') .'&layout=standard&show-faces=true&width=450&action=like&font=arial&colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" id="facebook-like"></iframe>';
return $content . $bio_box;
}
add_action("the_content", "author_bio_display");
答案 0 :(得分:1)
要获取当前ID而不创建全局$ post变量:
$id = get_the_id();
并且
get_permalink($id);
大多数循环外函数以“get_”开头,这些函数不会回显,而是返回数据。
答案 1 :(得分:1)
首先,the_content
不是Action Hook
,而是Filter Hook
,因此您应该使用add_filter
代替add_action
。
function attach_like_button($content) {
$post_id = $GLOBALS['post']->ID;
$permalink = get_permalink($post_id);
$link_button = ''; // Get latest facebook like button code from https://developers.facebook.com/docs/reference/plugins/like/
return $content.$link_button;
}
add_filter( 'the_content', 'attach_like_button' );
答案 2 :(得分:0)
如果您目前位于详细信息页面single.php
,我在此处定义了一个变量$post
并在$permalink
中保存了当前的POST-&gt; ID。现在您可以使用它了。
function author_bio_display($content)
{
global $post;
$permalink = get_permalink($post->ID);
$bio_box = '<iframe src="http://www.facebook.com/plugins/like.php?href='. rawurlencode('*post permalink*') .'&layout=standard&show-faces=true&width=450&action=like&font=arial&colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" id="facebook-like"></iframe>';
return $content . $bio_box;
}
答案 3 :(得分:0)
你需要做..
$bio_box_id = get_permalink($post->ID);
$bio_box = '<iframe src="http://www.facebook.com/plugins/like.php?href='. rawurlencode('*post permalink*') .'&layout=standard&show-faces=true&width=450&action=like&font=arial&colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" id="facebook-like"></iframe>';
return $content . $bio_box;