如何通过标题或ID获取特定的帖子元

时间:2013-10-15 作者:Rajnikanth

我在函数中注册了以下自定义帖子类型。php和我正在使用Advanced Custom Fields. 使用高级自定义字段类型,我添加了一个image 字段并分配给我的Release 自定义帖子类型。

现在,我在发布帖子类型中添加了一篇帖子。我已经在这篇文章中填写了这个细节。

Title: 立即发言(豪华版)
Image: 添加了一些图像

现在,我想通过标题/id检索具有特定帖子的元数据。

我尝试过此代码,但不起作用:

$my_post_meta = get_post_meta(556, \'album_image\', true);
    if ( ! empty ( $my_post_meta ) ) {
        get_field(\'album_image\');
    }

My custom post type:

/**
 * Music/Releases
 *
 */
function codex_custom_init5() {
  $labels = array(
    \'name\'               => \'Releases\',
    \'singular_name\'      => \'Release\',
    \'add_new\'            => \'Add New\',
    \'add_new_item\'       => \'Add New Release\',
    \'edit_item\'          => \'Edit Release\',
    \'new_item\'           => \'New Release\',
    \'all_items\'          => \'All Releases\',
    \'view_item\'          => \'View Release\',
    \'search_items\'       => \'Search Releases\',
    \'not_found\'          => \'No release found\',
    \'not_found_in_trash\' => \'No release found in Trash\',
    \'parent_item_colon\'  => \'\',
    \'menu_name\'          => \'Release\'
  );

  $args = array(
    \'labels\'             => $labels,
    \'public\'             => true,
    \'publicly_queryable\' => true,
    \'show_ui\'            => true,
    \'show_in_menu\'       => true,
    \'query_var\'          => true,
    \'rewrite\'            => array( \'slug\' => \'release\' ),
    \'capability_type\'    => \'post\',
    \'has_archive\'        => true,
    \'hierarchical\'       => false,
    \'menu_position\'      => null,
    \'supports\'           => array( \'title\', \'editor\', \'author\', \'thumbnail\', \'excerpt\', \'comments\' )
  );

  register_post_type( \'release\', $args );
}
add_action( \'init\', \'codex_custom_init5\' );
My Post Type

1 个回复
最合适的回答,由SO网友:gmazzap 整理而成

get_field 是替代get_post_meta 您只能使用它:

$my_post_meta = get_field(\'album_image\', 556);

if ( ! empty($my_post_meta) ) {
   // use the image
}
如果您不知道ID,并且希望通过post name检索post meta,那么必须使用WP_Queryget_posts 要通过slug连接post,请执行以下操作:

$posts = get_posts(\'post_name=here-the-post-name&post_type=release\');
$mypost = ( ! empty($posts) ) ? array_pop($posts) : false;
$my_post_meta = $mypost ? get_field(\'album_image\', $mypost->ID) : \'\';
if ( ! empty($my_post_meta) ) {
  // use the image
}

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post