使用以下代码片段this:
$hook_name = \'the_content\';
global $wp_filter;
var_dump($wp_filter[$hook_name]);
我能够找到WordPress过滤器的所有挂钩回调函数的列表:
the_content
.
然后我找到了几个可能的罪犯,然后寻找他们的功能存在。
在缩小列表范围后,我得出了导致问题的挂钩回调函数的结论。
在文件中./wp-includes/default-filters.php
在…上line 135 从WordPress 3.6开始,有一个挂钩函数add_filter(\'the_content\', \'wptexturize\');
在文件中./wp-includes/formatting.php
在…上line 29 自WordPress 3.6起,有wptexturize()
.
/**
* Replaces common plain text characters into formatted entities
*
* As an example,
* <code>
* \'cause today\'s effort makes it worth tomorrow\'s "holiday"...
* </code>
* Becomes:
* <code>
* ’cause today’s effort makes it worth tomorrow’s “holiday”…
* </code>
* Code within certain html blocks are skipped.
*
* @since 0.71
* @uses $wp_cockneyreplace Array of formatted entities for certain common phrases
*
* @param string $text The text to be formatted
* @return string The string replaced with html entities
*/
How to prevent WordPress from formatting the_content
characters into HTML entities?
remove_filter(\'the_content\', \'wptexturize\');
吸取的教训。在这个答案的开头使用这段代码将帮助您。。。至少,找到特定WordPress挂钩的所有附加回调函数。这是一个很好的开始,其余的可能需要一些搜索和读取每个回调函数的功能。