Intereting Posts
Дополнительная тема – Мобильная навигация с определенным разрешением Пользовательское поле быстрого редактирования WordPress не сохраняется Woocommerce: перемещение информации о ценах на странице одного продукта Пользовательский тип почтового сообщения становится неправильным при добавлении настраиваемого мета-поля Сколько запросов WordPress SQL на страницу? Неопределенный индекс: at_nonce в пользовательском почтовом обмене stackexchange-like отправить окно комментария Получение плагина для чтения всех файлов сценариев Клонирование wordpress intsall на mac Есть ли глобальный файл functions.php, который работает для любой темы? Проблемы с миграцией с mysql: операция не разрешена, когда innodb_forced_recovery> 0 Пользовательское поле, добавленное в форме комментария, не отображается в редакторе Является ли wp_deregister_script лучшим способом работы с ненужными плагинами на странице? как мне группировать контент в журнальные «вопросы»? Хороший способ хранения контента и настроек для плагина RSS

Заменить текст в заголовке

В строке, отображаемой <?php the_title(); ?> <?php the_title(); ?> Мне нужно заменить все символы & and .

Вот код, который я пробовал без успеха:

 <?php $wptitle = the_title(); $wptitle = str_replace('&', 'and', $wptitle);?><?php echo $wptitle; ?> 

Полный код для замены:

 <h2><a href="<?php if(get_post_meta($post->ID, 'links_link_custom', true)): ?><?php echo get_post_meta($post->ID, 'links_link_custom', true) ?><?php else: ?><?php the_permalink(); ?><?php endif; ?>"><?php the_title(); ?></a></h2> 

Solutions Collecting From Web of "Заменить текст в заголовке"

Прежде всего, сначала очистите свой код:

 <?php $wptitle = the_title(); $wptitle = str_replace('&', 'and', $wptitle);?><?php echo $wptitle; ?> 

Позволяет удалить спам PHP-тегов и поместить вещи в хорошие чистые строки:

 <?php $wptitle = the_title(); $wptitle = str_replace('&', 'and', $wptitle); echo $wptitle; ?> 

Теперь, если мы рассмотрим проблему, the_title , эта функция выводит заголовок и ничего не возвращает. Это означает, что $wptitle пуст, поэтому ваша замена строки ничего не делает.

Вы должны сказать ему, чтобы вернуть его, или он не будет знать, компьютеры не такие же, как люди, им нужно четко указать, что делать без каких-либо предположений.

Однако быстрый google для the_title вызывает код как первую запись вместе со связанной функцией get_the_title которая решит вашу проблему. Чтение документации говорит, что это аргументы, которые выполняет эта функция:

 <?php the_title( $before, $after, $echo ); ?> 

Таким образом, вы можете изменить $wptitle = the_title(); к этому:

 $wptitle = the_title( '','',false ); 

Или это:

 $wptitle = get_the_title(); 

Существует также гораздо лучший метод, который можно использовать с фильтрами:

 add_filter( 'the_title', 'drabello_swap_ampersands' ); function drabello_swap_ampersands( $old_title ) { $new_title = // do the replacement.. return $new_title; }