Делаем ссылку заголовка поста ведущую на другой адрес

Полезные рецепты для WordPress

Иногда, требуется опубликовать пост, в котором просто ссылка на какой-либо ресурс. Встроенной функции реализовать такую возможность в WodPress не существует, поэтому сегодня мы это сделаем )

Итак, откройте файл functions.php вашей темы и добавьте эту функцию:

function print_post_title() {
 global $post;
 $thePostID = $post->ID;
 $post_id = get_post($thePostID);
 $title = $post_id->post_title;
 $perm  = get_permalink($post_id);
 $post_keys = array(); $post_val  = array();
 $post_keys = get_post_custom_keys($thePostID);

 if (!empty($post_keys)) {
 foreach ($post_keys as $pkey) {
 if ($pkey=='url1' || $pkey=='title_url' || $pkey=='url_title') {
 $post_val = get_post_custom_values($pkey);
 }
 }
 if (empty($post_val)) {
 $link = $perm;
 } else {
 $link = $post_val[0];
 }
 } else {
 $link = $perm;
 }
 echo '<h2><a href="'.$link.'" rel="bookmark" title="'.$title.'">'.$title.'</a></h2>';
}

Далее открывайте index.php и заменяйте стандартную функцию заголовка:

<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Ссылка на  <?php the_title(); ?>"><?php the_title(); ?></a></h2>

на вызов новой функции, которую мы только что создали:

<?php print_post_title() ?>

Теперь загаловок нашего поста будет ввести на ссылку, которую мы укажем в произвольном поле под названием title_url или url_title. Если не укажем, все будет как прежде.

Хочешь постовой?

Напиши на своем блоге о нашем сайте и в скором времени получишь от нас трекбек!

4 комментариев »

  1. пытаюсь вставить в functions.php этот код, то сразу выходят ошибки. его надо в конце вставить или там в любое место? я просто не шарю.
    и еще. “Теперь загаловок нашего поста будет ввести на ссылку, которую мы укажем в произвольном поле под названием title_url или url_title. Если не укажем, все будет как прежде.”

    а в каком произвольном поле надо указать?
    просто мне надо сделать так только один пост, чтобы его заголовок шел как ссылка на страницу из моего блога. как это сделать? спасибо

    Отзыв оставил: фкензд — 28 марта 2010 @ 13:14
  2. пытаюсь использовать заголовок напечатав это в названии записи, в результате получается что у меня дублируется заголовок, ведущий на пустую страницу, затем значек “> и после этого только опять заголовок, но уже работающий как ссылка на страницу на моем сайте.
    подскажите каким другим способом можно это сделать или исправить.
    спасибо

    Отзыв оставил: ashty2 — 28 марта 2010 @ 22:58
  3. Код надо вставлять до тега ?>
    Произвольное поле находится сразу после вставки цитаты, когда вы создаете новый пост.
    Нажимаете -> Добавить новое, В имени указываете title_url, а в значении нужную ссылку, после сохранения поста, заголовок будет вести на указанный URL в значении произвольного поля

    Отзыв оставил: wprecipe — 29 марта 2010 @ 13:25
  4. ashty2
    Покажите код index.php и ссылку на сайт, где вы это делаете.

    Отзыв оставил: wprecipe — 29 марта 2010 @ 13:28

RSS лента комментариев к этой записи. TrackBack URL

Оставить комментарий