从自定义域URL设置特色图像

时间:2016-10-14 作者:JoaMika

我有一个自定义字段,用于保存上载的图像的URL。这是通过如下方式获得中等大小来实现的:

$image = get_field(\'fl_image\');
$my_thumb = $image[\'sizes\'][\'medium\'];
自定义字段的输出只是中等大小图片的URL。e、 g。

http://www.domain.com/wp-content/uploads/10/6/duck-300×169.jpg
当帖子保存/更新且特色图片为空时,如何将其设置为特色图片?

1 个回复
SO网友:jgraup

\'acf/save_post\' ACF保存$_POST[\'acf\'] 数据然后检查帖子是否has_post_thumbnailset_post_thumbnail 如果没有。

function save_acf_image_to_post_thumbnail( $post_id ) {

    $image = get_field( \'fl_image\' );

    if ( ! empty ( $image ) ) {

        if ( ! has_post_thumbnail( $post_id ) ) {

            $image_id = isset( $image[ \'id\' ] ) ? $image[ \'id\' ] : ( isset( $image[ \'ID\' ] ) ? $image[ \'ID\' ] : \'\' );

            if ( ! empty ( $image_id ) ) {

                set_post_thumbnail( $post_id, $image_id );
            }
        }
    }
}

add_action( \'acf/save_post\', \'save_acf_image_to_post_thumbnail\', 20 );
这假设Return Value 是一个Image Object.


也可以欺骗has_post_thumbnailpost_thumbnail_html 渲染自定义字段的步骤Image URL 元数据丢失时。

恶作剧has_post_thumbnail:

function filter_post_metadata( $value, $object_id, $meta_key, $single ) {

    if ( $meta_key === \'_thumbnail_id\' && ! $value ) {

        return empty ( get_field( \'fl_image\' ) ) ? $value : - 1;
    }

    return $value;
}

add_filter( \'get_post_metadata\', \'filter_post_metadata\', 20, 4 );
医生post_thumbnail_html:

function filter_post_thumbnail_html( $html, $post_ID, $post_thumbnail_id, $size, $attr ) {

    $image = get_field( \'fl_image\' );

    if ( ! empty( $image ) && (empty( $post_thumbnail_id ) || $post_thumbnail_id === -1) ) :

        $html = sprintf( \'<img width="%s" height="auto" src="%s" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" >\', "100%", esc_url( $image)  );

    endif;

    return $html;
}

add_filter( \'post_thumbnail_html\', \'filter_post_thumbnail_html\', 20, 5 );

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: