如何使用简码显示元框字段

时间:2019-07-12 12:20:03

标签: php wordpress custom-post-type shortcode meta-boxes

我创建了一个自定义帖子类型,并在其中添加了一些字段。所有数据都已存储。但是我无法使用简码显示字段。如何分别显示字段?

要保存其他字段:

function Voordeeltips_save_meta_box( $post_id ) {
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
  if ( $parent_id = wp_is_post_revision( $post_id ) ) {
      $post_id = $parent_id;
  }
  $fields = [
      'field_1',
      'field_2',
      'field_3',
      'field_4',
  ];
  foreach ( $fields as $field ) {
      if ( array_key_exists( $field, $_POST ) ) {
          update_post_meta( $post_id, $field, sanitize_text_field( $_POST[$field] ) );
      }
   }
}
add_action( 'save_post', 'Voordeeltips_save_meta_box' );

要显示它们,我使用:

add_shortcode( 'voordeeltips_shortcode', 'display_custom_post_type' );

    function display_custom_post_type(){
        $args = array(
            'post_type' => 'voordeeltip',
            'post_status' => 'publish',
            'order' => 'ASC',
        );

        $string = '';
        $query = new WP_Query( $args );
        if( $query->have_posts() ){
            $string .= '<ul>';
            while( $query->have_posts() ){
                $query->the_post();
                $string .= '<li>' . '<div class="title1">' . get_the_title() .'</div>' .
                '<div class="cta">' . get_post_meta ( get_the_ID(), 'field_1', true) .'</div>' 
                . get_the_post_thumbnail ().  
                '</li>';

            }
            $string .= '</ul>';
        }
        wp_reset_postdata();
        return $string;
    }

0 个答案:

没有答案