Вопрос по get_post_meta в WP

AA
На сайте с 21.12.2007
Offline
89
1505

Приветствую всех.

Имеется wordpress, версия 3.3.1. Для каждой статьи добавлено дополнительное поле linktofile, значение этого поля - ссылка http://site.ru/animal.doc

Задача - в правом меню, при просмотре статьи, выводить ссылку на соответсвующий файл. Т. е. в статье о слонах, ссылка на файл о слонах, в статье о крабах, ссылка на файл о крабах и т. п.

Решил я для этого воспользоваться функцией get_post_meta, залез в исходники и создал в меню такую вот ссылку:

<a href="<?php get_post_meta($post->ID, 'linktofile', true); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>

Сохраняю шаблон, обновляю страницу, получаю ссылку, но ведёт она не на файл, а на эту же страницу с записью.

Вопрос - что я упустил? И как это можно исправить?

Спасибо. :)

Заметки админа. (https://sysadmin.pm/) | Заметки в Telegram. (https://t.me/sysadminnotes)
Hixon10
На сайте с 21.08.2010
Offline
125
#1
<a href="<?php echo get_post_meta($post->ID, 'linktofile', true); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>

....................

Веду свой невзрачный блог (http://hixon.ru/).
B
На сайте с 07.12.2009
Offline
42
#2
Artpsiholog Artalexa:
Приветствую всех.

Имеется wordpress, версия 3.3.1. Для каждой статьи добавлено дополнительное поле linktofile, значение этого поля - ссылка http://site.ru/animal.doc

Задача - в правом меню, при просмотре статьи, выводить ссылку на соответсвующий файл. Т. е. в статье о слонах, ссылка на файл о слонах, в статье о крабах, ссылка на файл о крабах и т. п.

Решил я для этого воспользоваться функцией get_post_meta, залез в исходники и создал в меню такую вот ссылку:

<a href="<?php get_post_meta($post->ID, 'linktofile', true); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>


Сохраняю шаблон, обновляю страницу, получаю ссылку, но ведёт она не на файл, а на эту же страницу с записью.

Вопрос - что я упустил? И как это можно исправить?

Спасибо. :)

Правая колонка не находится в Loop. Т.е вы не получаете:

$post->ID;

the_title();

the_title();

для того чтобы получить id, вам надо добавить:

global $wp_query;

$postid = $wp_query->post->ID;

и потом использовать этот ид чтобы получить поля и название

AA
На сайте с 21.12.2007
Offline
89
#3
Hixon10:
....................

Спасибо за попытку, но всё было куда интересней. Решение нашёл.

Сразу после...

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Вставляю код...

<?php $GLOBALS['current_id'] = $post->ID; ?>

И уже в нужном мне месте получаю ссылку как...

<a href="<?php echo get_post_meta($GLOBALS['current_id'], 'linktofile', true); ?>" title="<?php the_title(); ?>">Скачать файл</a>

Прошу прощения, если отвлёк и потратил чьё-либо время. :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий