您不应该修改WordPress核心。建议你这样做的人是错误的。原因是,当你更新WordPress时,你失去了所有的更改。这也意味着插件对核心工作如何被您的更改破坏所做的假设。
相反,如果您需要更改核心行为、删除、添加或修改它们,则应该使用操作和过滤器。
E、 g.如果我想在脑海中回响“hello world”,我可以这样做:
add_action( \'wp_head\', function() {
echo \'hello world\';
} );
虽然这很吸引人
class-wp-embed.php
要添加新的oembed提供程序并修改
$providers
构造函数中的数组。
或者,您可以进一步向下阅读并找到过滤器:
$this->providers = apply_filters( \'oembed_providers\', $providers );
然后使用它在插件中使用过滤器添加提供者:
add_filter( \'oembed_providers\', function ( $providers ) {
$providers[\'#http://(www\\.)?youtube\\.com/watch.*#i\'] = array( \'http://www.youtube.com/oembed\', true );
return $providers;
} );
最后请注意,任何添加了可以修改内容的功能的内容,例如自定义帖子类型、分类法、短代码、oEmbed,都不应该出现在您的主题中。它们应该在插件中。原因是数据可移植性。用户切换主题的那一刻,他们的所有oEmbed短代码和自定义帖子类型都不再可用,或者停止工作。
最后一点,oEmbed不需要使用短代码,只需将url复制粘贴到编辑器自己的行中,即可将其转换为完全嵌入