Изменить название в выдаче
-
Люди, хелп и сос в 10ой степени.
Есть идея: вывести пост с длинным названием, скажем «диагноз выпадения волос», в короткой форме, вроде Диагноз. Т.е. называться пост должен так, как называется. Но на одной отдельно взятой странице хочется вывести пост именно в короткой форме Диагноз. При этом переименование должно быть автоматическим.
Думаю, но никак не додумаю. Что-то вроде конструкции if else echo должно подойти. Но как будет выглядеть — хз.
Буду очень признателен за помощь, даже может в материальном выражении, если кто разжует мне решение.
Заранее огромное спасибо!
РГ
-
Ну да, так, как я и подозревал 🙂
А я, к счастью, не телепат 🙂
Поэтому предлагаю wp-theme.eu, как минимум, раскрыть код этого блока и закинуть на pastebin, чтобы знать изнутри о чем идет речь. Иначе, весь разговор вилами на воде писан..
Да и ссылка не помешала бы на сайт, возможно, силами js это проще сделать..@wp-user: Ну просто нужные ссылки ведь все равно нужно будет вручную прописывать, верно?
Мы, в принципе, уже сделали ручной вариант (вот здесь под названием статьи, слева: http://kornibian.wp-theme.eu/symptome/atemnot/). Но опять же, при огромном количестве записей хочется (очень хочется) автоматического решения проблемы.
Т.е. нажимаешь вывод блока, а он сам выводит связанные записи по тегу и заголовки у них обрезает.
@wikicms: Я — Резо, 🙂 (wp-theme.eu уж больно официально). Код блока? Не вопрос:`<div class=»tagged-pages»>
<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
‘tag__in’ => $tag_ids,
‘post__not_in’ => array($post->ID),
‘showposts’=>5 // Die Anzahl der angezeigten Pages.
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo ‘<h3>Weitere Informationen:</h3><ul>’;
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li>
<a href=»<?php the_permalink() ?>» rel=»bookmark» title=»Permalink: <?php the_title_attribute(); ?>»><?php the_title() ; ?></a></li>
<?php
}
echo ‘</ul>’;
}
}
?> </div><div style=»width:100%; float:auto;»>
<?php
if (have_posts()) {
/* Start the Loop */
while (have_posts()) {
the_post();
get_template_part(‘content’, ‘page’);
/* Display comments */
if (theme_get_option(‘theme_allow_comments’)) {
comments_template();
}
}
} else {
theme_404_content();
}
?>
</div>
`@wikicms: Ссылку я уже вроде скидывал в эфир: http://kornibian.wp-theme.eu/test-artikel/
Справа, вверху тот самый блок :), в тест-фазе, конечно же
Попробуйте поменять:
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permalink: <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
на
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permalink: <?php the_title_attribute(); ?>"><?php my_short_title(); ?></a></li>
Но прежде, закиньте в файл functions.php такую функциюfunction my_short_title() { global $post; $title = explode( ' ', $post->post_title ); echo $title[0]; }
Что получится не знаю )
Как видно «Atemnot» — это главное слово (немецкого вообще не знаю), далее идут atemnot-ursache, atemnot-diagnose и тд, надеюсь, что код выше поможет.
UPD А нее, стоп, я за слаги зацепился, а как выглядит полностью заголовок? Без вашей правки?
UPD Изменил код, согласно последнему согласованию.Ну просто нужные ссылки ведь все равно нужно будет вручную прописывать, верно?
нет, конечно 🙂 Всё на автомате.
Выше я дал прототип кода (не руководство к действию, а просто для понимания принципов построения блока. Так, как я думаю 😉), где %POSTN_URL% «вычисляемый» урл связанного поста. А в условии проверяется — есть ли такой связанный пост по критериям связи.@wp-user.php: сори за может дилетантский вопрос, я в пхп не тормоз, но очень медленный газ :).
Спасибо за пищу для размышлений, конечно же буду экспериментировать и с этим кодом тоже.
Хм, а опасности того, что при данном Вами коде ссылки будут путаться, не пристутствует. Просто насколько я вижу, выводиться диагноз будет по слову-метке диагноз, а диагнозов как раз будет масса. И как тут определяется, что именно диагноз болезни А, а не диагноз болезни Б выведется в головном посте болезни А?
Еще раз мерси.
@wikicms: по-моему это именно то, что нужно. Сейчас попробую, посмотрим что получится.
Там надо
return $title[1];
поменять наecho $title[1];
И все-таки, как выглядит заголовок? Atemnot Ursache, Atemnot Diagnose, так??@wikicms: заголовок полностью выглядит так: Diagnose von Atemnot, Therapie von Atemnot, Ursachen von Atemnot и т.д.
Ключевое слово, Вы абсолютно правы, Atemnot (нехватка дыхания), т.е. вывести во всех связанных записях нужно вместо терапия нехватки дыхания, диагноз нехватки дыхания, причины нехватки дыхания: терапия, диагноз, причин — соответственно.
@wikicms: не, как раз наоборот: Ursache Atemnot, Diagnose Atemnot…. Потому мне и нужно первое слово 🙂
Тогда, всё-таки, так
echo $title[0];
И как тут определяется, что именно диагноз болезни А, а не диагноз болезни Б выведется в головном посте болезни А?
Ну я ж не знаю как построена связь.. Да по сути оно и не надо (как-то сейчас же достоверно определяется связанные посты). Даже если посту просто присвоена метка, то думаю найти этот связанный пост не составляет проблем. Вот только как это сделать тут я не подскажу (далеко не гуру ВП 😉 ).
Разобрался только, что вместо
<?php the_title() ; ?>
в 19-строке вышеданого кода нужно выводить нужный эл-т массива предустановленных анкоров.Я думаю, что по тому же принципу сделано в плагинах ВП (на стр. плагина в см.): есть страница скриншота\фака\ест — выводится линк на неё. А нет — пропускается.
А вот вывод через обрезку (explode) мне кацца это только доп. нагрузка на хостинг. Как по мне — зачем производит эту работу, если результат заранее известен (в см в результате постоянное слово из фиксированного списка)
@wikicms: yahooooo, камень сдвинулся с мертвой точки. По крайней мере есть некие изменения. Правда, код выводит не первое слово названия, а второе….. Вот тут: http://kornibian.wp-theme.eu/symptome/atemnot/
Вместо «Ursachen von Atemnot» выводится только «von», т.е. 2-ое слово, а не 1-ое….
У меня так, если мы об одном и том же говорим ))
http://trueimages.ru/img/ec/64/19fd739b138b291fca48c31778a.png
- Тема «Изменить название в выдаче» закрыта для новых ответов.