将特色图像链接到外部链接

时间:2016-09-10 作者:Nancy

我定制了帖子类型“Collections”,并通过特色图片填充每篇帖子。现在我需要将每个特色图片链接到适当的外部链接。到目前为止,我成功地将这段代码添加到了media uploader中functions.php:

    function be_attachment_field_credit( $form_fields, $post ) {


    $form_fields[\'be-url\'] = array(
        \'label\' => \'URL\',
        \'input\' => \'text\',
        \'value\' => get_post_meta( $post->ID, \'be_url\', true ),
        \'helps\' => \'Add URL\',
    );

    return $form_fields;
}

add_filter( \'attachment_fields_to_edit\', \'be_attachment_field_credit\', 10, 2 );



function be_attachment_field_credit_save( $post, $attachment ) {


    if( isset( $attachment[\'be-url\'] ) )
update_post_meta( $post[\'ID\'], \'be_url\', esc_url( $attachment[\'be-url\'] ) );

    return $post;
}

add_filter( \'attachment_fields_to_save\', \'be_attachment_field_credit_save\', 10, 2 );
然后是我的单曲。php I添加

echo get_post_meta(get_post_thumbnail_id(), \'be_url\', true);
现在,当我点击管理面板中的特色图片以用url填充元框时(例如http://www.google.com), metabox会保存链接,但当我转到我的页面上我的特色图像所在的位置时,特色图像根本没有链接。如何将我的特色图像转到外部链接?Thanx公司。

1 个回复
SO网友:cjbj

在WordPress中,附件被视为帖子,有自己的标题、摘录和元值。因此,如果一篇文章有一个附件,那么有两组元值,一组用于文章本身,另一组用于附件。

您正在使用update_post_meta( $post[\'ID\'] ... 存储url。因此,它存储为post的元值。

您正在检索get_post_meta(get_post_thumbnail_id() ..., 因此,您正在寻找附件的元值。要检索它,您不能使用get_post_thumbnail_id() 但是$post[\'ID\'], 因为那是你存储url的地方。