我有两个完全相同的函数,因为它们应用于不同的filters...is --有任何方法组合它们--这样我就不用写两遍了?
我的代码:
function embed_oembed($html) {
if (preg_match('/(vimeo.com)/', $html)) {
return str_replace('这是可行的,只是不知道这样做是否合适:
function oembed_class($html) {
if (preg_match('/(vimeo.com)/', $html)) {
return str_replace('谢谢,乔什
发布于 2019-11-25 20:25:16
这是可行的,只是不知道这样做是否合适:
是的,函数是一样的,所以它们是等价的。这没什么不对的。但如果我们再深入一点,我们就会发现它们根本就不是两个相同的过滤器:
embed_oembed_html过滤缓存的oEmbed HTML。oembed_result过滤oEmbed提供程序返回的oEmbed。因此,在缓存之前,oembed_result是第一次检索html的时候。embed_oembed_html是指缓存已被获取,但在呈现之前。
您可能只需要一个或另一个,确保首先清除所有的缓存/瞬变。
https://wordpress.stackexchange.com/questions/353313
复制相似问题