カスタムフィールドをカスタム投稿タイプでプレビュー
-
いつもお世話になっております。
同様の質問が見つからなかったので、ご質問させていただきます。カスタム投稿タイプにてCustom Field Templateプラグインを使用した、カスタムフィールドテンプレートを使用しています。
新規追加で編集画面に入った状態では「プレビュー」ボタンが表示されますが、
カスタムフィールドに値を入力した瞬間に「プレビュー」ボタンが非表示になります。
また、すでに投稿されている記事を再編集する場合は、「変更をプレビュー」が表示されていますが、
カスタムフィールドの値を変更して「変更をプレビュー」を押すとカスタムフィールドは反映されていません。
(もともとカスタムフィールドに入っている値さえも表示されません)カスタムフィールドの入力の仕方が悪いのか、
カスタム投稿タイプが悪いのか、
どこが悪いのかさえわからないので、知恵をお貸し頂けますようお願いします。以下コードです。
function.php
/* カスタム投稿タイプでブックストアを追加 */ register_post_type( 'book', array( 'label' => 'ブックストア', 'hierarchical' => false, 'public' => true, 'query_var' => false, 'menu_position' => 5, 'has_archive' => true, 'supports' => array('title','editor','author') ) ); register_taxonomy( 'book_cat', 'book', array( 'label' => 'カテゴリー', 'hierarchical' => true, 'rewrite' => true ) ); function manage_book_columns($columns) { $columns['book_category'] = "カテゴリー"; return $columns; } function add_book_column($column_name, $post_id){ if( $column_name == 'book_category' ) { if( 'book_category' == $column_name ) { $book_category = get_the_term_list($post_id, 'book_cat', '', ', ', '' ); } if ( isset($book_category) && $book_category ) { echo $book_category; } else { echo __('None'); } } } add_filter('manage_edit-book_columns', 'manage_book_columns'); add_action('manage_posts_custom_column', 'add_book_column', 10, 2);
single-book.php
<div class="entry-content"> <div class="itempic"> <?php if(get_post_meta($post->ID, '画像', true)): ?> <img src="<?php $image = wp_get_attachment_image_src(get_post_meta($post->ID,"画像",true), 'small'); echo $image[0]; ?>" alt="<?php the_title(); ?>" /> <?php else: ?> <img src="<?php bloginfo('template_url'); ?>/images/noimage200.gif" alt="noimage" /> <?php endif; ?> </div><!-- /.itempic --> <table cellpadding="0" cellspacing="0" border="0" class="itemtable"> <tbody> <tr> <th>値段</th> <td> <?php if(get_post_meta($post->ID, "値段", true)): ?> <?php echo get_post_meta($post->ID, "値段", true); ?> <?php else: ?> 完売しました <?php endif; ?> </td> </tr> <?php //DBからデータ取得 //$wpdb->postmeta カスタムフィールドのキーと値が保存されているテーブル global $wpdb; $query = "SELECT meta_id,post_id,meta_key,meta_value FROM $wpdb->postmeta WHERE post_id = $post->ID ORDER BY meta_id ASC"; $cf = $wpdb->get_results($query, ARRAY_A); $item = array(); $cont = array(); foreach( $cf as $row ){ if( $row['meta_key'] == "項目名" ){ array_push( $item, $row['meta_value'] ); } if( $row['meta_key'] == "内容" ){ array_push( $cont, $row['meta_value'] ); } } $length = count( $item ); //表示 if(get_post_meta($post->ID, "項目名", true)): for( $i = 0; $i < $length; $i ++ ){ echo '<tr><th>' . $item[$i] . '</th>'; echo '<td>' . $cont[$i] . '</td></tr>'; } else: endif; ?> </tbody> </table> <div class="itemdiscription"><?php the_content(); ?></div> </div><!-- .entry-content -->
以上、よろしくお願い致します。
- トピック「カスタムフィールドをカスタム投稿タイプでプレビュー」には新たに返信することはできません。