Как отобразить первый символ из заголовка WordPress

#php #wordpress #string #substr

#php #wordpress #строка #substr

Вопрос:

В WordPress мы используем код <?php the_title(); ?> для отображения заголовка сообщения. Теперь я хочу отобразить только первую букву заголовка в другом месте. Как я могу это сделать?

Я пробовал это, но это не работает:

 <?php $my_title = the_title(); ?>

<?php
    $first_char = $my_title[0];
    echo $first_char;
?>
  

Ответ №1:

 // Get the first character.
// $firstCharacter = $string[0];

$my_title = get_the_title();


// Get the first character using substr.
$firstCharacter = substr($my_title, 0, 1);
echo $firstCharacter;
  

the_title() Функция напечатает его по умолчанию, если для параметра echo не установлено значение false. get_the_title() получит заголовок.

Комментарии:

1. вы чрезмерно усложняете простую вещь. Не говоря уже о том, что код OP должен работать

2. @MarcinOrlowski функция the_title() напечатает его по умолчанию, если параметру echo не присвоено значение false. get_the_title() извлекет заголовок.

3. Я говорю об использовании substr() instrad {x} и 3 строк кода буквально для oneliner.

4. @MarcinOrlowski — Я тоже так думал, пока не понял, что the_title() это одна из тех функций WordPress, которая повторяет вывод, а не возвращает его.

5. @DebanjanB обновил ответ описанием

Ответ №2:

Вы можете просто сделать это:

 <?php echo get_the_title()[0]; ?>
  

Главное, чтобы заголовок не был пустым. Или:

  <?php echo substr(get_the_title(),0,1); ?>

 <?php echo preg_replace('/^(w). /','1',get_the_title()); ?>

 <?php echo str_split(get_the_title())[0]; ?>

 <?php printf("%.1s", get_the_title()); ?> //echo sprintf
  

и т.д…

Или, если вы хотите усложнить, вы можете использовать «поток», да!:

    $f = fopen('php://memory', 'w ');
   fputs($f, get_the_title());
   rewind($f);
   echo fgetc($f);
   fclose($f);
  

LOL — это был самый сложный способ, который я мог придумать, который делает то, что должен, и не содержит никаких ненужных шагов (ну, за исключением fclose , но в этом случае мы можем восстановить память);

Песочница

Комментарии:

1. Мне больше всего нравится ваше первое предложение, и оно все равно будет работать с пустым заголовком (в php7 ), если вы сделаете: get_the_title()[0] ?? ''