来自特定页面上自定义字段的外部链接

时间:2015-05-25 15:45:48

标签: wordpress wordpress-plugin

我希望有一个页面包含帖子标题的列表。每个标题都应链接到外部页面(使用名为“link”的自定义字段)。我有这个代码,但它改变了网站上的任何地方的链接,我希望它只在一个特定的页面上工作,让我们说在一个名为“Example”的页面上。在主页和除“页面示例”页面之外的任何地方,它都应链接到帖子。

add_filter( 'post_link', 'links', 10, 2 );
function links( $link, $post )
{
$meta = get_post_meta( $post->ID, 'link', TRUE );
$url = esc_url( filter_var( $meta, FILTER_VALIDATE_URL ) );
return $url ? $url : $link;
}

1 个答案:

答案 0 :(得分:0)

您可以在全局 $ wp_query 上查看 queried_object ;

  add_filter( 'post_link', 'links', 10, 2 );
    function links( $link, $post )
    {
    $meta = get_post_meta( $post->ID, 'link', TRUE );
    $url = esc_url( filter_var( $meta, FILTER_VALIDATE_URL ) );
    if($wp_query->queried_object instanceof WP_Post && $wp_query->queried_object->ID == 258){
        return $url ? $url : $link;
    }else{
        return $link;
    }

}