【问题标题】:How to add an extra link to the excerpt in wordpress如何在wordpress中为摘录添加额外链接
【发布时间】:2010-09-13 21:18:42
【问题描述】:

我试图让这个链接看起来像这样:

评论这个节目>> |收听这个节目>>

“对该节目的评论>>”通过其永久链接正确填充。

“收听此节目>>”链接应填充“立即收听”自定义字段值。

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' );

谢谢!

马特

【问题讨论】:

  • 我尝试这样做的原因是我需要为 iTunes 创建一个播客,当我尝试将提要提交到 iTunes 时,我不断收到错误消息,指出提要没有剧集。因此,我认为将第二个链接添加到我的摘录 iTunes 将能够找到音频文件的路径并允许 iTunes 获取该剧集。这是我的提要的链接:feeds.feedburner.com/HolyLandMoments

标签: javascript wordpress custom-fields


【解决方案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 &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()函数也会返回当前帖子的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>';
}

【讨论】:

  • 这不起作用...当我将它添加到函数中时,生成的链接链接到该链接所在的同一页面。
  • @Matthew:我不太清楚你的意思。您能否添加一个生成的链接示例,而不是您期望/想要的?
  • @Daniel 这里是我希望这些链接存在的链接:holylandmoments.org/shows
  • @Matthew:但是代码当前生成的“立即收听”链接的示例在哪里?另外,谢谢,无缘无故否决我的人:/。
  • @Daniel,因为这个网站已经上线了,所以我不想跟上太久。我将重新发布 functions.php 文件,以便您了解发生了什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-12
  • 1970-01-01
相关资源
最近更新 更多