1 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用該template_redirect
鉤子,您可以訪問將呈現(xiàn)到頁面的所有 HTML。您可以使用此掛鉤打開輸出緩沖,查找和替換您想要的任何內(nèi)容,然后返回輸出,無論它是否已被修改。
請記住,這不會涵蓋通過延遲加載、AJAX 請求等動態(tài)加載的任何 iframe - 但在運(yùn)行時(shí)加載到 HTML 中的任何內(nèi)容都將在此處。
add_action( 'template_redirect', 'global_find_replace', 99 );
function global_find_replace(){
ob_start( function( $buffer ){
/**
*`$buffer` contains your entire markup for this page, at run time.
* anything dynamically loaded with JS/Ajax, etc won't be in here
*/
// Did they accept the GDPR cookie?
if( !isset($_COOKIE['gdpr_consent']) ){
// Nope. Build a simple "accept cookies" notice
$notice = '<div class="accept-cookies">You must accept cookies to see this content</div>';
// Replace all youtube iframes regardless of class, id, other attributes, with our notice
$buffer = preg_replace( '/<iframe.+src="https?:\/\/(?:www.)?youtu\.?be(?:\.com)?.+<\/iframe>/i', $notice, $buffer );
}
// Always return the buffer, wither it was modified or not.
return $buffer;
});
}
這是我為 youtube 視頻制作的正則表達(dá)式,如果我錯(cuò)過任何內(nèi)容,請隨時(shí)修改它:https ://regex101.com/r/2ZQOvk/2/
這應(yīng)該足以讓你開始!
- 1 回答
- 0 關(guān)注
- 110 瀏覽
添加回答
舉報(bào)