您的代码中有几个错误。最大的问题是这个函数甚至没有一个右括号,但我们可以假设它没有被复制到你的帖子中,否则什么都不会对你有用。
这是内容上的筛选器,对吗?
看起来您想在发布内容后附加这些共享。如果是这种情况,那么您也需要这一行:
add_filter(\'the_content\',\'share_this\');
除此之外,您还试图关闭php标记,并在语句中打开它们,在语句中向
$content
变量您还试图回显数据,并使用函数来回显而不是返回(例如
the_title
echos代替
get_the_title
返回值)。
我没有在内容中附加一个大字符串,而是使用数组构建方法进行了清理,但有多个$shares .=
也会起作用的。
虽然我还没有测试过,但它应该可以工作。
<?php
function share_this($content) {
if ( is_singular( \'portfolio\' ) ) {
global $post;
$link = esc_attr(get_permalink($post->ID));
$title = esc_attr(get_the_title($post->ID));
$image_id = get_post_thumbnail_id($post-ID);
$image_url = wp_get_attachment_image_src($image_id);
$thumb = $image_url[0];
$shares = array();
$shares[] = \'<div class="share-this">\';
/* Facebook */
$shares[] = \'<div class="facebook-like-button"><iframe src="http://www.facebook.com/plugins/like.php?href=\'.$link.\'&layout=button_count&show_faces=false&width=200&action=like&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:21px;" allowTransparency="true"></iframe></div>\';
/* Pinterest */
$shares[] = \'<div class="pinterest-it-button"><a href="http://pinterest.com/pin/create/button/?url=\'.$link.\'&media=\'.$thumb.\'description=\'.$title.\' class="pin-it-button" count-layout="horizontal">Pin It</a><script type="text/javascript" src="http://assets.pinterest.com/js/pinit.js"></script></div>\';
/* Googgle+ */
$shares[] = \'<div class="plusone"><g:plusone size="medium" href="\'.$link.\'"></g:plusone></div>\';
/* Twitter */
$shares[] = \'<div><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal">Tweet</a></div>\';
$shares[] = \'</div>\';
return $content . implode("\\n", $shares);
}
}