MW WP FORMのフォーム識別子の部分に「なし」と表示されていたという出来事がありました。その時はMW WP FORMとカスタム投稿を連携しており、フォームで入力した内容がカスタム投稿のカラムにも入るようになっていた為、そのカラムにも「なし」と表示されていました。
改善前のソースコード
プラグインのバージョンや自分が記述したソースコードなど色々疑ってみましたが、原因は引き継ぎ前に別の方が記述したソースコードでした。ソースコードに記述してある‘None’ という部分が「なし」に変換されて出力されていたみたいです。
function add_column($column_name, $post_id) { if( $column_name == 'name' ) { $person = get_post_meta($post_id, 'name', true); } if( $column_name == 'email' ) { $person = get_post_meta($post_id, 'email', true); } if(isset($person) && $person) { echo attribute_escape( $person ); } else { echo __( 'None' ); } } add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );
改善後のソースコード
赤文字の部分を2つのif文に分割することで、elseの「echo __( ‘None’ );」が出力されなくなり、「なし」という表示がされなくなりました。
function add_column($column_name, $post_id) { if( $column_name == 'name' ) { $person = get_post_meta($post_id, 'name', true); } if( $column_name == 'email' ) { $person = get_post_meta($post_id, 'email', true); } if(isset($person)) { if ( $person ) { echo attribute_escape( $person ); } else { echo __( 'None' ); } } } add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );
コメント