如何获取自定义元图像的源码?

时间:2012-09-27 作者:Marc Wiest

我正在开发一个CPT(自定义帖子类型)页面模板,希望获得自定义元图像的源代码。

对于post\\u缩略图,这非常容易使用wp_get_attachment_image_src(), 但如果我var_dump( $post->ID ) 我没有看到自定义元附件图像源的值。

那么,如何获取自定义元图像的ID以获取其源呢?谢谢:)

更新这就是我要做的。

<?php $portfolio_image_one = get_post_meta( $post->ID, \'_cmb_portfolio_image_one\', true ); ?>
<?php $portfolio_image_two = get_post_meta( $post->ID, \'_cmb_portfolio_image_two\', true ); ?>
<?php $portfolio_image_three = get_post_meta( $post->ID, \'_cmb_portfolio_image_three\', true ); ?>

<?php if ( has_post_thumbnail() ) {
$large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), \'large\'); ?>
<a class="featured-image" href="<?php echo $large_image_url[0] ?>" title="\' . <?php the_title_attribute(\'echo=0\') ?> . \'">
<?php the_post_thumbnail(\'medium\', array(\'class\' => \'img-polaroid\')); ?>
</a>
<?php } ?>
基本上,我希望以与缩略图方法类似的方式获取post\\u元图像的ID。

1 个回复
SO网友:Adam

自定义元映像?那是什么?

你是说,

您正在将图像插入元框中的自定义字段(后元字段)?

  • 您要将图像作为后期附件或缩略图插入?

    这是两件截然不同的事情,其中一件是,

    add_post_meta
    
    另一个,

    wp_insert_attachment
    
    后者将附件插入到与wp_posts 数据库表。

    另一方面,发布元数据(即。add_post_meta etc)与您的wp_postmeta\' 数据库表。

    Attachments 实际分类为post_type 仅限线路postpage 或者你的custom_post_type 例如。

    Attachments, 作为post类型,可能也可能不与post的ID关联,作为整数存储在post_parent 中的列wp_posts 数据库如果设置为0, 这意味着附件没有父项,并且与任何特定的帖子都没有关联。

    撇开理论不谈

    您很可能试图访问一个根本不存在的附件。

    $attachment_id = 20; //example ID of the attachment you want to retrieve
    $attachment = wp_get_attachment_image_src( $attachment_id );
    echo $attachment[0];
    
    上面的特定代码对于检索与任何特定帖子都没有关联的附件非常有用。

    $post_id = 100; //example post ID
    $attachment = wp_get_attachment_thumb_url( $post_id );
    echo $attachment; //returns the URL of the image attached to the post
    
    在处理post-meta时,无论该值是什么,都要检索一个值custom meta image) 需要使用,

    get_post_meta
    
    正在使用中,

    $post_id = get_the_ID();
    $meta = get_post_meta($post_id, \'your_meta_key\');
    echo $meta;
    
    API参考WordPress API: add_post_meta
  • WordPress API: wp_get_attachment_image_src
  • WordPress API: wp_get_attachment_thumb_url
  • WordPress API: wp_insert_attachment
  • WordPress API: get_post_meta

    $portfolio_image_one = get_post_meta( $post->ID, \'_cmb_portfolio_image_one\', true );
    
    post\\u元值保存在变量中,

    $portfolio_image_one
    
    你需要做的是,

    echo $portfolio_image_one;
    
    否则什么都不会发生。

    如果为meta_key i、 e。_cmb_portfolio_image_one 然后通过回显变量的结果,您将获得meta_value 无论该值是多少,例如http://domain.com/my_image.jpg 例如

    如果在循环之外使用$post->ID,您将遇到麻烦,因此请参考我前面的示例,但使用您的代码,

    $post_id = get_the_ID();
    $portfolio_image_one = get_post_meta($post_id, \'_cmb_portfolio_image_one\', true);
    echo $portfolio_image_one;
    

  • 结束

    相关推荐

    images within style sheet

    我希望有人能在这方面帮助我,因为这已经开始让我抓狂了。我已经搜索了好几个小时,想找到一种在我的样式表中放置图像路径的方法,但一直没有找到。路径不能是绝对路径或“主题相关”路径。解决问题的唯一方法是在html文件中添加以下内容:<style type=\"text/css\"> #menu .menu-drop .menu-label { background: url(<?php echo get_template_directory_uri().