首先,我不是经验丰富的开发人员。事实上,我所做的大部分工作都建立在我在 Stackoverflow 上发现的 hack 以及我通过反复试验学到的东西之上——你可能会在前面看到一些丑陋的代码。
我想做的是为访问者创建一种简单的方式来分享社交媒体的链接:Twitter、Facebook、电子邮件。
这是我现在拥有的代码片段:
echo ('Share: <a href="http://www.facebook.com/sharer.php?u=');
echo urlencode(the_permalink());
echo ('&t=');
echo themeprefix_social_title( get_the_title() );
echo ('">Facebook</a> · ');
echo ('<a href="http://twitter.com/share?text=');
echo the_title();
echo ('&url=');
echo urlencode(the_permalink());
echo ('&via=REDCAT&related=');
echo urlencode("REDACT");
echo ('" title="Share on Twitter" rel="nofollow" target="_blank">Twitter</a> · ');
echo do_shortcode('[cpss]');
themeprefix_social_title
是我在 Stackoverflow 上找到的用于处理标题中的 & 符号的函数:
function themeprefix_social_title( $title ) {
$title = html_entity_decode( $title );
$title = urlencode( $title );
return $title;
}
它可以很好地处理 & 符号,但它完全混淆了引号和双引号,因此它们呈现如下(对于 Twitter):
为什么它很难(“2”和“1”之间的空格,否则这里会正确呈现)
所以现在我发现自己陷入了困境:如果我不使用该功能,带有&符号的标题会在它出现的位置被剪切,所以对于这样的标题:
大与小与红
我只会得到:
大
但是,如果我确实使用该函数,我的引号和双引号就会变得混乱。