Intereting Posts
PHP выбрать строку из db, где ID найден в группе идентификаторов передача пользовательских параметров на вкладку страницы facebook fan RegEx для получения идентификатора видео YouTube с любого URL-адреса YouTube «Недопустимый номер параметра: параметр не определен» Вставка данных datatables формат столбца из нескольких источников? (Обработка на стороне сервера) PHP: что является альтернативой empty (), где строка «0» не считается пустой? Сообщение о сообщении формы Получение имен файлов в каталоге Есть ли какая-либо известная ошибка в библиотеке сеансов CodeIgniter 2.1.0? Почему меня выгоняют? Установите PDO для исключения исключений по умолчанию Подготовленные утверждения и SQL-инъекции второго порядка Форматировать MySQL с помощью CONCAT Очистить вывод CLI CLI Чистые ссылки на PHP-сгенерированный JavaScript и CSS MySQL: два внешних ключа в одной таблице, относящихся к другой таблице

Получить первое слово в строке php the_title WordPress

Я пытаюсь сократить слово WordPress до первого слова. Для страницы с именем «John Doe» я хочу иметь подзаголовок где-то на странице, где говорится «О Джоне», поэтому я хочу просто получить первое слово из названия.

Есть ли способ сделать это с помощью PHP?

Благодаря!

ОБНОВИТЬ:
Спасибо за ваши ответы! Я попробовал следующий код, но он, похоже, не работает. Он по-прежнему перекликается с полным названием. Какие-либо предложения?

<?php $title = the_title(); $names = explode(' ', $title); echo $names[0]; ?> 

это очень просто:

 <?php $title = get_the_title(); // This must be!, because this is the return - the_title would be echo $title_array = explode(' ', $title); $first_word = $title_array[0]; echo $first_word; ?> 

или

 <?php $title = current(explode(' ', get_the_title())); echo $title; ?> 

непроверенный, но должен работать 🙂

Надеюсь, это полезно 🙂

 $first_word = current(explode(' ', $title )); 

или в файле шаблона

 <?php echo current(explode(' ', $title )) ?> 

взорваться по пространству и получить первый элемент в результирующем массиве

 list($first_word) = explode(' ',$mystring); 

Вы можете сделать так:

 $words = explode(' ', $the_title_here); echo $words[0]; 

Я думаю, вы, вероятно, сталкиваетесь с некоторыми особенностями WordPress здесь. the_title () по умолчанию просто распечатывает заголовок и ничего не возвращает. Чтобы заставить его вернуть строку заголовка вместо ее печати, вы должны установить третий параметр the_title() в значение true.

 //fetch the title string into a variable $title = the_title('','',true); 

После этого вы можете избавиться от первого слова и отбросить его вручную. Если вы используете PHP 5.3, вы можете выполнить это в одной строке с помощью strstr () :

 echo strstr($title," ",true); 

Если у вас PHP <5.3, вы можете использовать explode() :

 $parts = explode(' ',$title); echo $parts[0]; 

Я бы рекомендовал полностью исключить этот синтаксический анализ строк и использовать более общий подход для определения вторичного заголовка для вашей страницы.

Вы должны использовать WordPress Post Meta для определения настраиваемого мета-поля с именем типа «субтитры», а затем вызывать это поле в своем шаблоне. Таким образом, вы можете решать поэтапно, что вы хотите, чтобы субтитры были, а не быть привязаны к конкретной связи между заголовком и субтитрами. Это, вероятно, не сделает вашу жизнь более сложной, и это значительно упростит ее.

Вы добавляете метатег сообщения на страницу или сообщение, используя раздел «Пользовательские поля» в нижней части экрана редактирования сообщений. Вы показываете эти поля в своей теме следующим образом:

 <?php echo get_post_meta($post->ID, $meta_key, 1);?> 

Очевидно, вы, вероятно, лучше проверили бы его, прежде чем дать вам что-то вроде этого:

 <?php if ( $subtitle = get_post_meta($post->ID, $meta_key, 1) ) echo "<h3>$subtitle</h3>"; ?> 

Подробнее о кодексе.

Существует строковая функция ( strtok ), которая может использоваться для разделения строки на более мелкие строки ( токены ) на основе некоторых разделителей. Для целей этого потока первое слово (определенное как что-либо перед первым пространственным символом) Test me more может быть получено путем токенизации строки на символе пробела.

 <?php $value = "Test me more"; echo strtok($value, " "); // Test ?> 

Дополнительные сведения и примеры см. На странице руководства PHP strtok .