Intereting Posts
WordPress Multisite – Несколько подпапок для блогов Ajax вызов функции всегда возвращает 0 в переднем конце (без плагина) Как сортировать сообщения по количеству голосов? Изменен обработчик PHP для DSO – проблема с настраиваемыми полями Как вернуться в режим отсутствия отвлечения, который у нас был до WP 4.1? Не удалось успешно проверить nonce Установите ссылку в дочерней теме style.css, чтобы перейти к #main get_header_image () вызывает проблему с приоритетом видимого содержимого в странице Speed ​​Insights изменить год на всех моих пользовательских типах сообщений? Могу ли я включить / отключить / скрыть плагины для каждого сайта на нескольких сайтах? Как заставить WordPress принимать тег <style> в статьях (или других альтернативах) Переписывать конечные точки и CPT – как использовать в плагине Невозможно дать правильный путь в wordpress Если post-format == 'gallery' условный Как отображать пользовательский тип сообщения только на определенной странице?

Как фильтровать функцию wordpress core?

Я хотел бы изменить текст в загрузчике wp-файлов. Мне удалось найти функцию на media.php, и я попытался использовать фильтр, чтобы изменить текст следующим образом:

function uploader_text() { remove_action('post-html-upload-ui', 'media_upload_html_bypass' ); ?> <p class="upload-html-bypass hide-if-no-js"> <?php _e('mytext here'); ?> </p> <?php } add_filter('post-html-upload-ui', 'uploader_text'); 

Но я этого не сделал. Что я сделал не так?

Обновление: вот как я попробовал

Связанная функция в wp выглядит так:

  <div id="html-upload-ui" class="hide-if-js"> <?php do_action('pre-html-upload-ui'); ?> <p id="async-upload-wrap"> <label class="screen-reader-text" for="async-upload"><?php _e('Upload'); ?></label> <input type="file" name="async-upload" id="async-upload" /> <?php submit_button( __( 'Upload' ), 'button', 'html-upload', false ); ?> <a href="#" onclick="try{top.tb_remove();}catch(e){}; return false;"><?php _e('Cancel'); ?></a> </p> <div class="clear"></div> <?php do_action('post-html-upload-ui'); ?> </div> function media_upload_html_bypass() { ?> <p class="upload-html-bypass hide-if-no-js"> <?php _e('You are using the browser’s built-in file uploader. The new WordPress uploader includes multiple file selection and drag and drop capability. <a href="#">Switch to the new uploader</a>.'); ?> </p> <?php } add_action('post-html-upload-ui', 'media_upload_html_bypass'); 

Текст, который мне нужно изменить, находится в media_upload_html_bypass ():

 <?php _e('You are using the browser’s built-in file uploader. The new WordPress uploader includes multiple file selection and drag and drop capability. <a href="#">Switch to the new uploader</a>.'); ?> 

Поэтому я попробовал:

 function uploader_text() { ?> <p class="upload-html-bypass hide-if-no-js"> <?php _e('here is what i want to change the text</a>.'); ?> </p> <?php } add_filter('media_upload_html_bypass', 'uploader_text'); 

Все еще не работает.

Это сработало для меня:

 function uploader_text() { ?> <p class="upload-html-bypass hide-if-no-js"> <?php _e('mytext here'); ?> </p> <?php } remove_action('post-html-upload-ui', 'media_upload_html_bypass'); add_action('post-html-upload-ui', 'uploader_text'); 

Вы пытались сделать «remove_action» после того, как действие уже произошло. Это была ошибка.

«Post-html-upload-ui» – это действие, а не фильтр. Таким образом, это должно быть: add_action вместо add_filter.