首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`get_template_directory_uri()‘应该逃跑吗?

问`get_template_directory_uri()‘应该逃跑吗?
EN

WordPress Development用户
提问于 2016-12-24 21:07:05
回答 1查看 2.9K关注 0票数 8

是否应该使用get_template_directory_uri()对esc_url()进行转义?

我之所以这样问是因为,以默认主题20为例,相同的函数在两个不同的地方使用,但只有在一个地方才能转义。

代码语言:javascript
复制
wp_enqueue_style( 'twentyfifteen-ie', get_template_directory_uri() . '/css/ie.css', array( 'twentyfifteen-style' ), '20141010' );

-

代码语言:javascript
复制
<script src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/html5.js"></script>

我想说的是,get_template_directory_uri()不需要生成,因为URL不能被外部操纵。

EN

回答 1

WordPress Development用户

发布于 2016-12-30 11:47:14

会试图让斯威斯皮迪的评论成为答案。短版-视情况而定。

转义不应被随机应用,因为双转义可能会产生一个url (或任何类型的内容),它与预期的url不匹配。转义只应在输出之前应用。因此,上下文比计算URL的特定函数更重要。

在您的示例中,第一个片段只是对URL进行排队,而不输出它。转义的责任被进一步下放到wordpress堆栈中,由实际输出它的代码负责,这就是它没有转义的原因。

第二个片段执行输出,这就是为什么要转义url。

那么,你怎么知道什么时候不应该逃跑呢?希望在将来的某个地方wordpress API的文档中将包含这些信息,但是现在要么遵循完整的代码路径直到实际输出,要么在“滑稽”urls下测试您的主题。

票数 3
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/250304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档