#57575
关闭
增强
( 固定的 )
编辑:介绍HTML标记处理器
|
|
||
|
|
||
|
|||
|
|
||
|
描述
//将缺少的“rel”属性添加到链接。 $p=新的WP_HTML_Tag_Processor($block_content); if($p->next_tag('A')&&空($p->get_attribute('rel')){ $p->set_attribute('noopener nofollow'); } 返回$p->get_updated_html();
//更新标题栏类名 $p=新的WP_HTML_Tag_Processor($HTML); while($p->next_tag()){ 开关($p->get_tag()){ 案例“H1”: 案例“H2”: 案例“H3”: 案例“H4”: 案例“H5”: 案例“H6”: $p->remove_class('wp-heading'); $p->add_class('wp-block-heading'); 断裂; } 返回$p->get_updated_html();
WordPress(文字出版社)/ 古腾堡@1315784 https://github.com/WordPress/gutenberg/pull/45469/files#diff 使用标记处理器gutenberg#46625更新/阻止支持设置
更改历史记录 (62)
@阿佐兹 对发表了评论 采购订单号3920 :
15个月 以前
#3
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#4
想知道将if(!class_exists(…))移动到wp-html.php是否更好
@伯恩哈德·雷特 对发表了评论 采购订单号3920 :
15个月 以前
#5
想知道将if(!class_exists(…))移动到wp-html.php是否更好
同意。 我已经在古腾堡这边完成了这项工作,以避开过梁,并将在合并后,或者如果可以的话,提前将更改移到这里。
@hellofrom托尼亚 对发表了评论 采购订单号3920 :
15个月 以前
#7
不知道是否最好将if(!class_exists(…))移到wp-html.php(其中需要所有文件)。 在核心中有很多地方使用了类似的代码。 这也将阻止WPCS抱怨压痕。
#8
随访:
↓ 11
@
15个月 以前
@阿佐兹 对发表了评论 采购订单号3920 :
15个月 以前
#9
我认为我们甚至不应该在这里包括那些警卫——毕竟,科尔是最“规范”的
Core没有责任检查其类是否已经在内存中。
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#10
#11
答复: ↑ 8
@
15个月 以前
请原谅我的无知,但为什么我们要取消这些检查提供的安全性? 基于现有的代码库,我的印象是,这种做法有点规范,也很重要,因为我还见过人们无意中用
要求 它们已经存在,因此在不需要它们的地方造成了崩溃。
这就是为什么我喜欢在检查中包装每个类,但考虑到linter想要缩进整个文件,我将它们移到
wp-html.php软件 作为妥协。
如果Gutenberg中的一个版本是以某种方式首先加载的,我不会认为这有问题。 我们不想在未来破坏API。
核心加载优先于插件和主题。 文件在请求周期的早期加载。 这些分为 wp-设置.php . WordPress核心的代码本身就是原生的。 期望Core不需要保护自己的函数、特性、类等免受可能也使用相同自定义命名约定的自定义代码的影响。 请注意,在Core中,它没有将每个类或函数包装在 *_存在() 在将其加载到内存之前。 那是故意的。 为什么? 因为期望是: 这些函数、类等是WordPress Core固有的。 插件和主题负责保护任何复制本机核心函数、类等的自定义代码,以防止出现致命错误。
首先加载内核,因此不应存在已加载到内存中的重复名称。 Core的代码是Core的本机代码。 请参阅原因3中的上述预期解释。
#12
@
15个月 以前
性能分析。
测试。
评估用户风险。
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#13
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#14
@hellofrom托尼亚 对发表了评论 采购订单号3920 :
15个月 以前
#15个
@hellofromtonya是否需要WP_DEBUG上的@TODO? 这似乎是多余的,尤其是因为WP_DEBUG是测试我们是否处于开发模式的测试,至少在这里是这样。 我可以将它们添加进来,但如果我们保持一致,那么我们需要注释WP_DEBUG的每次使用,这与简单地使用WP_DEBU没有什么不同-我可能遗漏了一些东西。 为此,我还没有加入它们,除非它们传达的是我没有领会的东西。
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#16
是的,@todo是必需的。 为什么? 这是自WP6.2起在源代码中使用WP_DEBUG协议的一部分。 我分享了包括@azaozz@felixarntz@spacedmonkey和我在内的委员会之间讨论和达成一致的链接。
@弗利克索斯90 对发表了评论 采购订单号3920 :
15个月 以前
#17
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#18
不建议在WordPress核心中引入新的API而不使用它。
我认为这样的大规模公关是不可能的
在这段代码中有几个@todo注释,这对我来说意味着“黄金时段”还没有准备好。
我们是否可以在Core中的PCRE模式上使用Unicode标志,或者对于缺少Intl扩展的站点来说,这是一个问题? 我今天在审核代码时发现了一个项目,希望明天能删除它; 这是一个特例,我认为我们没有在实践中测试或看到。 关于我留下的设计限制的注释,因为我认为我们可以删除该部分,而不是扩展TODO。
我认为@todo注释在这里不相关,因为它是一个实际的调试用例。
@ntsekouras公司 对发表了评论 采购订单号3920 :
15个月 以前
#19
@hellofrom托尼亚 对发表了评论 采购订单号3920 :
15个月 以前
#20
所以TLDR我认为@todo注释在这里不相关,因为它是一个实际的调试用途。
@吉奥罗牌手表 对发表了评论 采购订单号3920 :
15个月 以前
#21
@弗利克索斯90 对发表了评论 采购订单号3920 :
15个月 以前
#22
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#23
@弗利克索斯90 对发表了评论 采购订单号3920 :
15个月 以前
#24个
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#25
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#26
@阿佐兹 对发表了评论 采购订单号3920 :
15个月 以前
#27
不合并PR,但必须提交到svn
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#28
@dmsnell公司 对发表了评论 公共关系编号3920 :
15个月 以前
#29
@彼得威尔逊公司 对发表了评论 采购订单号3920 :
15个月 以前
#30
有人知道在测试中断言
_做错了 被呼叫了?
@吉奥罗牌手表 对发表了评论 采购订单号3920 :
15个月 以前
#32
不合并PR,但必须提交到svn
好的,基本工作流程是从这里将请购单中的所有更改作为.diff: https://patch-diff.githubusercontent.com/raw/WordPress/WordPress-develop/pull/3920.diff 然后将该差异应用于核心主干的SVN签出并从那里提交。 (请参阅上的说明下的“查看修补程序”按钮 https://core.trac.wordpress.org/ticket/57575 ).
@hellofrom托尼亚 对发表了评论 公共关系编号3920 :
15个月 以前
#33
请求的更改:
@6.2性能主管felixantz正在积极进行性能评估。
提交人要求的所有更改都提交到此PR中。 未发现明显的性能回归。
@dmsnell公司 对发表了评论 公共关系编号3920 :
15个月 以前
#34
如果我错了,请纠正我,但我认为我注意到脚本标记的解析是老派的,但没有看到任何测试。 除非我漏掉了什么,否则也可以测试一下吗。
@hellofrom托尼亚 对发表了评论 采购订单号3920 :
15个月 以前
#37
所有请求的更改都已完成 ✅
提交人批准:目前还没有提交人批准此请购单 完成我要求@felixantz做的绩效评估 ⚪
@hellofrom托尼亚 对发表了评论 采购订单号3920 :
15个月 以前
#38
我要求在提交之前完成的原因是:
如果有一个性能回归可以保证这不会发生,那么所有其他的工作都取决于它需要返工和更改计划。 这需要尽快知道。 等待稍后执行意味着将这些功能和6.2版本置于危险之中。
@弗利克索斯90 对发表了评论 公共关系编号3920 :
15个月 以前
#39
@hellofrom托尼亚 对发表了评论 采购订单号3920 :
15个月 以前
#40
@dmsnell公司 对发表了评论 采购订单号3920 :
15个月 以前
#41
@阿佐兹 对发表了评论 采购订单号3920 :
15个月 以前
#44
@齐拉达姆 对发表了评论 采购订单号3920 :
15个月 以前
#46
#47
@
15个月 以前
-
关键词 has-testing-info(有测试信息) 已添加
测试说明
测试步骤
安装 `WP_HTML_Tag_Processor`测试插件 (安装信息在插件的标题中)。 启用插件。 创建帖子,并插入段落块。 添加一些文本。 在段落文本中,向内部和外部URL添加超链接,然后发布文章。 查看帖子。 观察渲染的输出以及修改后的标记(通过View Source)。
预期结果
✅ 段落中的外部链接采用粗体格式,并带有对比色文本,前面加上 “外部”仪表图标 .
补充人工制品
其他信息
这张票是在 采购订单号4112 在 WordPress/WordPress-develop开发 通过 @dmsnell公司 .
14个月 以前
#48个
@吉奥罗牌手表 对发表了评论 采购订单号4112 :
14个月 以前
#49个
@齐拉达姆 对发表了评论 采购订单号4112 :
14个月 以前
#52个
14个月 以前
#53
使用正确的起始索引标记更近的书签 添加 数组(“tag_clossers”=>“visit”) 在里面 搜索()
测试a书签</b> ----------------^
测试a书签</b> ----------------------------^
测试a书签</b> ---------------------------^
#54
@
14个月 以前
@dmsnell公司 对发表了评论 采购订单号4112 :
14个月 以前
#56
@齐拉达姆 对发表了评论 采购订单号4112 :
14个月 以前
#58
@阿佐兹 对发表了评论 采购订单号4112 :
14个月 以前
#59
@azaozz我把你包括在这里,因为我想尝试把这个放到6.2中。 我应该为它创建Trac票证吗?