我正试图让这个链接看起来像这样:
评论此节目>> |听这个节目>>
“评论此节目>>”通过永久链接正确填充。
“收听此节目>>”链接应填入帖子“立即收听”自定义字段值。
function holylandmoments_comment_link() {
return ' <a class="read-more-link" href="'. get_permalink() . '">' . __( 'Comment on this show »', 'holylandmoments-show' ) . '</a> | <a class="read-more-link" href="'. get_post_meta($post->ID, 'Audio File',true); . '">' . __( 'Listen to this episode »', 'holylandmoments' ) . '</a>';
}
问题是我没有获得立即收听的自定义字段值的路径来填充第二个链接...任何想法?
自定义字段值是指向音频文件的链接。因此,对于属于该类别的所有帖子,显示有一个名为“音频文件”的自定义字段,该字段的值为:
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' );
谢谢!
马特
答案 0 :(得分:1)
你那里有一个额外的分号。
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 »', 'holylandmoments-show' ) . '</a> | <a class="read-more-link" href="'. get_post_meta($post->ID, 'Audio File',true); . '">' . __( 'Listen to this episode »', 'holylandmoments' ) . '</a>';
}
我相信函数the_ID()
也会返回当前帖子的ID,因此如果另一个帖子不起作用,请尝试以下操作:
function holylandmoments_comment_link() {
return ' <a class="read-more-link" href="'. get_permalink() . '">' . __( 'Comment on this show »', 'holylandmoments-show' ) . '</a> | <a class="read-more-link" href="'. get_post_meta(the_ID(), 'Audio File',true); . '">' . __( 'Listen to this episode »', 'holylandmoments' ) . '</a>';
}