用帖子元值替换帖子列表中的标题栏

时间:2014-06-04 作者:rahmat

我已经创建了名为booking的自定义帖子类型。它有一个元booking_first_name, booking_last_name, booking_email, booking_phone, booking_phone_contact. 目前,我成功地显示了电子邮件、电话和手机。

enter image description here

但是,我想将我的帖子标题显示为booking_first_name + booking_last_name. 我怎么能那样做?

以下是我当前的语法:

<?php
/**
 * Register custom admin field
 */
add_filter(\'manage_booking_posts_columns\', \'booking_table_head\');
function booking_table_head( $defaults ) {
    $defaults[\'booking_email\']          = \'Email\';
    $defaults[\'booking_contact_phone\']  = \'Contact Phone\';
    $defaults[\'booking_mobile_phone\']   = \'Mobile Phone\';
    return $defaults;
}

/**
 * Fill custom field value
 */
add_action(\'manage_booking_posts_custom_column\', \'booking_table_content\', 10, 2);
function booking_table_content( $column_name, $post_id ) {

  switch ($column_name) {
    case \'title\':
      $first_name = get_post_meta( $post_id, \'booking_first_name\', true );
      $last_name = get_post_meta( $post_id, \'booking_last_name\', true );
      echo $first_name . \' \' . $last_name;
      break;

    case \'booking_email\':
      $email = get_post_meta( $post_id, \'booking_email\', true );
      echo $email;
      break;

    case \'booking_contact_phone\':
      $contact_phone = get_post_meta( $post_id, \'booking_phone\', true );
      echo $contact_phone;
      break;

    case \'booking_mobile_phone\':
      $mobile_phone = get_post_meta( $post_id, \'booking_phone_mobile\', true );
      echo $mobile_phone;
      break;
  }
}

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

您可以使用the_title 滤器

add_filter(\'the_title\', \'my_meta_on_title\',10, 2);
function my_meta_on_title($title, $id) {
  if(\'booking\' == get_post_type($id)) {
      return get_post_meta( $id, \'booking_first_name\', true ).\' \'.get_post_meta( $id, \'booking_last_name\', true );
   }
  else {
      return $title;
  }
}

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在