我正在为客户端编写一个非常简单的社交共享插件。我使用这两个功能在每篇文章的底部显示共享按钮:
<?php
/**
* Social buttons
*/
function zss_share_buttons() {
?>
<div class="zss">
<div id="fb-root"></div>
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.0";
fjs.parentNode.insertBefore(js, fjs);
}
(document, \'script\', \'facebook-jssdk\'));
</script>
<div class="fb-share-button" data-href="<?php the_permalink(); ?>" data-layout="button_count" data-lazy="true"></div>
<a href="https://twitter.com/share?url=<?php the_permalink(); ?>&text=<?php echo urlencode( get_the_title() ); ?>" title="Share on Twitter" target="_blank" rel="nofollow noopener noreferrer" class="zss-button zss-button--twitter">Twitter</a>
<a class="zss-button zss-button--linkedin" href="http://www.linkedin.com/shareArticle?mini=true&url=<?php the_permalink(); ?>" title="Share on LinkedIn" target="_blank" rel="nofollow noopener noreferrer">LinkedIn</a>
</div>
<?php }
/**
* Insert share button
*/
function zss_insert_share_buttons( $content ) {
if ( is_single() && \'post\' == get_post_type() ) {
ob_start();
zss_share_buttons();
$content .= ob_get_clean();
}
return $content;
}
add_filter( \'the_content\', \'zss_insert_share_buttons\' );
是否有必要使用
esc_url()
? 据我所知,如果URL没有通过admin进行输入,应该可以。
最合适的回答,由SO网友:Jacob Peattie 整理而成
不,不需要转义硬编码的值。
据我所知,如果URL没有通过admin输入,它应该可以。
不一定。需要说明更多潜在恶意(或只是意外损坏)输出的潜在来源,例如:
翻译
查询字符串($\\u GET)Cookies因此,通常应该转义大多数(如果不是全部)函数和变量的任何输出值。