Intereting Posts
Переопределить edit_custom_walker.php для условного отображения ввода в зависимости от позиции меню Тема Ориона (из темы леса) Пользовательская тема: как вызвать archive-post.php для просмотра сообщений в блоге как добавить префикс только для публикации url structor Удалите количество сообщений, отображаемых в wp_list_categories () Плагин Fancybox: запуск по атрибуту href echo КАТЕГОРИИ ДЕТЕЙ / SUB ТОЛЬКО КАТЕГОРИИ Функция кеширования get_option? Как экспортировать и импортировать таксономии (категория, тег и / или пользовательская таксономия) и их условия Buddypress получает метаинформацию участника для определенного ID пользователя я делаю изменения текста на моем показе страницы в предварительном просмотре не на живом сайте, почему? Использование пользовательских таблиц для старых сообщений Многопользовательская установка не в корне – как сделать live? Строки жесткого диска локализации Cart66 Получите первый URL-адрес из настраиваемого поля, загрузите его и установите в качестве отображаемого изображения на публикацию публикации

Передача переменной в функцию, подключенную к исходному содержимому

Я работаю с настраиваемым шаблоном страницы в Genesis и должен удалить содержимое сообщения и заменить его, когда задано определенное условие. Эта часть работает нормально, но мне также нужно отображать информацию из переменной в новом контенте.

Это кажется простым, но что-то не работает, и я думаю, что я не понимаю, как правильно передать переменную в функцию. Я предполагаю, что переменная, назначенная вне функции, будет доступна в функции. Вот мой шаблон:

//* Template Name: Notification Template $notice ="ALERT!"; //This will be set dynamically from code above, but I'll keep it simple for now. if($notice){ //echo $notice ; // If I echo here, it displays at the top of the page. remove_action( 'genesis_entry_content', 'genesis_do_post_content' ); add_action ( 'genesis_entry_content', 'do_custom_content', 5 ); function do_custom_content(){ echo $notice; // This is not displaying anything! echo 'Test Output'; //This text does display } } 

Когда я повторяю уведомление $ в функции do_custom_content (), ничего не происходит. Поэтому, вероятно, я не понимаю, как работает php, поскольку $ notice не переходит в функцию do_custom_content ().

Если вы собираетесь динамически настраивать уведомление, то я бы просто затягивал уведомление в функции обратного вызова. Но если вы не можете сделать это по какой-либо причине, вы можете сделать небольшое волшебство:

 if( $notice ) { remove_action( 'genesis_entry_content', 'genesis_do_post_content' ); add_action ( 'genesis_entry_content', function() use ($notice) { echo $notice; }, 5 ); } 

Это use ключевое слово use php для анонимных функций .