Я хотел бы использовать функцию create в моем настраиваемом плагине, чтобы сообщить WP использовать другой заголовок

Я хорошо знаю об использовании детских тем для этого. Я знаю о get_header ($ name). Я уже понимаю использование условных тегов.

Я хочу, чтобы мой плагин удалял функцию:

function get_header( $name = null ) { do_action( 'get_header', $name ); $templates = array(); if ( isset($name) ) templates[] = "header-{$name}.php"; $templates[] = 'header.php'; // Backward compat code will be removed in a future release if ('' == locate_template($templates, true)) load_template( ABSPATH . WPINC . '/theme-compat/header.php'); } 

и замените get_header () на:

 function get_header( $name = null ) { do_action( 'get_header', $name ); $templates = array(); if ( isset($name) ) templates[] = "header-{$name}.php"; $templates[] = 'header.php'; // Backward compat code will be removed in a future release if ('' == locate_template($templates, true)) load_template( MY PLUGIN PATH/header.php'); } 

php.net сказал мне использовать runkit_function_remove (), но веб-сайт, на котором я работаю, говорит, что это неопределенная функция.

Любая помощь приветствуется.

Леон

Solutions Collecting From Web of "Я хотел бы использовать функцию create в моем настраиваемом плагине, чтобы сообщить WP использовать другой заголовок"

Я не уверен, что вы хотите сделать выполнимо (кажется мне невозможным, но все кажется невозможным, пока кто-то это не сделает). Я думал об очень уродливом обходном пути.

 add_filter( 'template_include', function( $template ) { $temp = get_temp_dir() . basename( $template ); file_put_contents( $temp, str_replace( 'get_header(', 'get_header2(', file_get_contents( $template ) ) ); return $temp; }); function get_header2( $name = null ) { do_action( 'get_header', $name ); $templates = array(); if ( isset($name) ) $templates[] = "header-{$name}.php"; $templates[] = 'header.php'; // Backward compat code will be removed in a future release if ('' == locate_template($templates, true)) load_template( MY PLUGIN PATH/header.php'); } 

Это заменяет get_header с get_header2 во всех шаблонах перед загрузкой.