我正在寫一個WordPress插件,獲得HTML內容WordPress插件 - 獲得無衝突
我發現2種方式來獲得最終輸出的輸出內容:
// first way
function __myplugin_callback($buffer) {
return $buffer;
}
function __myplugin_buffer_start() { ob_start("callback"); }
function __myplugin__buffer_end() { ob_end_flush(); }
add_action('wp_head', 'buffer_start');
add_action('wp_footer', 'buffer_end');
,當我只有工作我的插件活躍,當我有更多的插件活躍,如搜索引擎優化Yoast,我得到插件和我之間的衝突無法正常工作。
// second way
ob_start();
add_action('shutdown', function() {
$final = '';
$levels = ob_get_level();
for ($i = 0; $i < $levels; $i++)
{
$final .= ob_get_clean();
}
echo apply_filters('final_output', $final);
}, 0);
// call the filter
add_filter('final_output', function($output)
{
return str_replace(.., .., $output);
});
這工作比第一種方式更好,但我也有像Visual Composer的
有一種安全的方式,以獲得最終的HTML輸出,而不與其他插件衝突插件衝突?
嘿,謝謝,這是好的,但如果我想改變它? –
你可以用'$ page_content'變量中存儲的內容來做任何你想做的事情。 – rnevius
我的意思是改變WordPress的輸出 –