WP CSV Exporterで固定ページの情報を出力するときに親ページのIDも出力できるようにする

お題

WP CSV Exporterというプラグインで固定ページの情報を出力するときに親ページのIDも出力できるようにする

手順

  1. functions.phpに親ページID出力時に使うフィルタを追加
  2. プラグイン編集で/admin/admin.phpに親ページの情報を出力するかどうか選択するチェックボックスを追加する
  3. プラグイン編集で/admin/download.phpに親ページの情報を出力するためのコードを追加する

やり方

1.functions.phpに親ページID出力時に使うフィルタを追加

これは正直いらないかもしれない…。。。

でも、追加しない場合はこの後の手順3で追加するコードでこのフィルタを使わないように書き換えて追加してください。


// WP CSV Exporter固定ページ出力時の親ページ情報用フィルタ追加
function wp_csv_exporter_post_parent_filter( $post_parent, $post_id) {
	return $post_parent;
}
add_filter( 'wp_csv_exporter_post_parent', 'wp_csv_exporter_post_parent_filter', 10, 3 );

2./admin/admin.phpを編集して親ページの情報を出力するかどうかを選択するチェックボックスが表示されるようにする

左サイドバーのプラグイン > プラグイン編集 でWP CSV Exporterを選択した後、/admin/admin.phpを選択

そこで、<form></form>タグの間であれば場所に特に制限はありませんが、テキトウなところに以下のコードを追加しましょう。


<?php if ( $post_type->name == 'page' ) : ?>
	<li><label><input type="checkbox" name="post_parent" value="post_parent"><?php $this->e( '親ページ', '親ページ' ) ?></label></li>
<?php endif; ?>

3./admin/download.phpに親ページの情報を出力するためのコードを追加する

あとは出力データを生成する部分にpost_parentの情報を追加するように記述すればおしまいです。

こちらも

return array_merge( $result, $customs_array );
よりも前であれば場所に特に制限はありませんが、
変な場所で入れ子みたいにならないよう気をつけながら、テキトウなところに以下のコードを追加しましょう。


if ( !empty( $_POST['post_parent'] ) ) {
	$parentinfo = get_post( $result['post_id'] )->post_parent;
	$parent = apply_filters( 'wp_csv_exporter_post_parent', $parentinfo, $result['post_id'] );
	$customs_array += array( $_POST['post_parent'] => $parent );
}
The following two tabs change content below.

Web勉強中おじさん

最新記事 by Web勉強中おじさん (全て見る)

0