Как добавить дополнительную ссылку на выдержку в WordPress - PullRequest
1 голос
/ 14 сентября 2010

Я пытаюсь, чтобы эта ссылка выглядела так:

Комментарий к шоу >> |Послушать это шоу >>

Где «Комментарий к этому шоу >>» правильно заполнен своей постоянной ссылкой.

Ссылка «Прослушать это шоу >>» должна быть заполнена этими сообщениями »Значение настраиваемого поля Listen Now.

function holylandmoments_comment_link() {
return ' <a class="read-more-link" href="'. get_permalink() . '">' . __( 'Comment on this show &raquo;', 'holylandmoments-show' ) . '</a> &nbsp;|&nbsp; <a class="read-more-link" href="'. get_post_meta($post->ID, 'Audio File',true); . '">' . __( 'Listen to this episode &raquo;', 'holylandmoments' ) . '</a>';
}

Проблема в том, что я не могу получить путь к значению настраиваемого поля Listen Now для заполнения второй ссылки ... какие-либо идеи ??

Значение настраиваемого поля является ссылкой на аудиофайл.Таким образом, для всех сообщений, подпадающих под категорию категорий, есть настраиваемое поле с именем «Аудио файл», значение этого поля:

http://www.mydomain.org/audio/sample.mp3

Поэтому, когда отрывок вызывается для архиваДля отображения страниц мне нужны две ссылки, чтобы отобразить одну, которая указывает на сообщение, а другую - на файл MP3.

Итак, в моем файле functions.php у меня есть функция выше, а затем я вызываю ее с помощью:

function holylandmoments_custom_excerpt_more( $output ) {
if ( has_excerpt() && in_category( _x('devotionals', 'devotionals category slug', 'holylandmoments') ) &&! is_attachment() ) {
    $output .= holylandmoments_read_more_link();
}
else
if ( has_excerpt() && in_category( _x('shows', 'shows category slug', 'holylandmoments') ) &&! is_attachment() ) {
    $output .= holylandmoments_comment_link();
}
return $output;
}
add_filter( 'get_the_excerpt', 'holylandmoments_custom_excerpt_more' );

Спасибо!

Мэтт

1 Ответ

1 голос
/ 14 сентября 2010

У вас есть лишняя точка с запятой.

href="'. get_post_meta($post->ID, 'Listen Now',true); . '">'
                                                    ^

Измените на:

href="'. get_post_meta($post->ID, 'Listen Now',true) . '">'

Переменная $post может отсутствовать в текущей области, поэтому попробуйте ввестиглобальный $post в него.

function holylandmoments_comment_link() {
   global $post;
   return ' <a class="read-more-link" href="'. get_permalink() . '">' . __( 'Comment on this show &raquo;', 'holylandmoments-show' ) . '</a> &nbsp;|&nbsp; <a class="read-more-link" href="'. get_post_meta($post->ID, 'Audio File',true); . '">' . __( 'Listen to this episode &raquo;', 'holylandmoments' ) . '</a>';
}

Я полагаю, что функция the_ID() также возвращает идентификатор текущего сообщения, поэтому попробуйте следующее, если другое не работает:

function holylandmoments_comment_link() {
   return ' <a class="read-more-link" href="'. get_permalink() . '">' . __( 'Comment on this show &raquo;', 'holylandmoments-show' ) . '</a> &nbsp;|&nbsp; <a class="read-more-link" href="'. get_post_meta(the_ID(), 'Audio File',true); . '">' . __( 'Listen to this episode &raquo;', 'holylandmoments' ) . '</a>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...