Intereting Posts
Как удалить текущую запись из запроса? На странице категории найдите объект категории Как сделать первое окно виджета закрытым, а не открывать в админке wpdb пользовательский post_type проблема Поиск по сообщению id на определенной странице, затем авто-перенаправление на поиск по почте Использовать WP-CLI изнутри WordPress, а не SSH переписать url в wordpress Что такое rel = «pingback», и каково использование этого на моем сайте? возвращать одну ревизию сообщения progmattically через код? Что нужно отключить для работы во внутренней сети без доступа к Интернету? Ограничить поиск в настраиваемом поле Недопустимые предыдущие ссылки на страницы, созданные из paginate_links () Ошибка загрузки пользовательской страницы типа сообщения Прикрепление данных таксономии для публикации с помощью wp_insert_post pre_get_posts запрос между двумя датами (дата, хранящаяся в пользовательских сообщениях мета)

Лучший способ справиться с отсутствием заголовков в микроблоге

Я экспериментирую с выполнением «микроблогов» с помощью WordPress, и я сомневаюсь, как обрабатывать «заголовки», когда вы используете разные «форматы» сообщений («форматы» могут или не могут быть связаны с основной функциональностью WP). Многие службы микроблогов не имеют какого-либо поля заголовка, но когда заголовок необходим по техническим причинам, например заголовку HTML-страницы, постоянной ссылке или заголовку RSS-сообщения, он автоматически генерируется из метаданных (например, дата публикации) или из короткой выдержки из текста в сообщении. Бывают случаи, когда пользователь не помещает текст вообще, как с изображениями или видео (что не является хорошей практикой, но это еще одна проблема); в этих случаях, по крайней мере, в Tumblr, заголовок HTML-страницы отсутствует, постоянная ссылка – это только сообщение «id», а заголовок RSS – это просто имя «формата» сообщения.

У меня есть дилемма, которая может быть лучшей практикой для обработки пустых названий, в случаях, когда это необязательно для них:

  1. Автоматическое создание заголовка из первых символов в содержании сообщения. Тема должна иметь функцию, чтобы не показывать название, когда оно совпадает с первыми символами «содержимого». Вот как работает тема P2, но помимо автоматической генерации функции заголовка, я не знаю, можно ли использовать условный вариант, не отображающий заголовок в цикле, в общем плагине. Кроме того, могут быть случаи, когда неясно, если заголовок автогенерируется (и может быть автоматически заменен) или фактически пользовательский ввод.
  2. Нельзя автоматически генерировать заголовок сообщения и оставлять их пустыми, но при этом генерировать автоматическое название заголовков страниц HTML, сообщений и каналов RSS. Это может решить некоторые проблемы с предыдущим методом, но я не знаю, как создавать заголовки HTML-заголовков и заголовки RSS-каналов, не создавая целые пользовательские шаблоны вместо простой функции. Хотя я чувствую, что сообщения на панели управления без заголовка могут быть неудобными для управления.

Solutions Collecting From Web of "Лучший способ справиться с отсутствием заголовков в микроблоге"

Заголовок сообщения не может быть пустым, потому что он используется для создания пули сообщения, которое часто используется в постоянной ссылке.

Используйте подход p2 и автогенерируйте заголовок. Это решает много проблем. Покажите ли вы, что название в теме или нет, зависит от вас.

Я написал простой плагин для создания заголовков сообщений на 'save_post' : исправить пустые заголовки .
Когда и где заголовок отображается посетителю, зависит от автора темы. Вы можете проверить формат сообщения текущей записи.

Я нашел другой путь. Более или менее основанный на методе Константина Ковшенина. Не уверен, что отметьте это как правильное или нет. Это может привести к проблемам с производительностью, но все же. Сначала создайте фильтр, чтобы теги шаблона по умолчанию «title» заполнили пустые поля заголовка первыми буквами содержимого.

 add_filter( 'the_title', 'empty_title_fix' ); add_filter( 'single_post_title', 'empty_title_fix'); function empty_title_fix( $titles ) { if ( strlen( trim( $titles ) ) < 1 ) { $daa = get_post($idd); $conten = $daa->post_content; $contents = trim(strip_tags($conten)); if (strlen($contents) > 40) { $titles = substr($contents, 0, 40) . '...'; //this is if the content has no words (like with a single image or video). It can be different. } elseif (strlen($contents) == 0) { $format = get_post_format(); if ( false === $format ) { $format = 'post'; } $titles = ucfirst($format); } else { $titles = substr($contents, 0, 40); } } return $titles; } 

Это для автогенерирующих столбцов с аналогичным методом, описанным выше, для замены «числовых».

 add_action('publish_post', 'insert_automatic_post_slug', 10, 2); function insert_automatic_post_slug($postID, $post) { if($post->post_name == $postID) { $content = trim(strip_tags($post->post_content)); if (strlen($content) > 40) { $title = substr($content, 0, 40) . '...'; } elseif (strlen($content) == 0) { $format = get_post_format(); if ( false === $format ) { $format = 'post'; } $title = ucfirst($format); } else { $title = substr($content, 0, 40); } $post->post_name = sanitize_title($title); $result = wp_update_post($post); } } 

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

 //Simplified version to get the point across. <?php $my_id = get_the_ID(); $post_id = get_post($my_id); $post_title = $post_id->post_title; if (!empty($post_title)) { ?> <h1 class="entry-title"><?php the_title(); ?></h1> <?php } ?>