Исходящая ссылка в названии поста.
Многим приходилось сталкиваться с необходимостью вставки внешней ссылки в title, то есть название поста в WordPress. Это может понадобиться при использовании заголовка записи в качестве ссылки на новость на другом сайте или блоге, а также ссылки на станицу находящуюся по иерархии выше папки установки вордпресса.
Сегодня пришлось искать решение этой задачи. Первые мысли натолкнули меня на логичность использования произвольных полей. Хорошенько прочесав буржунет я наткнулся на уже готовое решение задачи простановки ссылки в названии записи на сайте Рецептов WordPress.Итак, открываем через редактор тем файлик 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 title=”‘.$title.’” rel=”bookmark” href=”‘.$link.’”>’.$title.’</a></h2>
‘;
}
При добавлении функции следует обратить внимание на то, что “Функции темы” начинаются с <?php и заканчиваются соответственно ?> – это означает что весть текст обрабатывается как php код. Соответственно, вставлять новую функцию нужно до ?>.
Теперь ползем в файл index.php и ищем там примерно такую запись:
<h2><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title(); ?>”><?php the_title(); ?></a></h2>
Заменяем ее на
<?php print_post_title() ?>
Вот собственно и все! Теперь, при написании поста, Вы можете разместить в произвольном поле с именем url1 ссылку на любой ресурс.
