見出し画像

開発紀其之参(SpineとWordPress)

ページごとにファイルを管理するということで、取り急ぎ思いつくのはカスタムフィールドでファイル添付させること。

まずはインターフェイスだけ制作して、みんなの反応を聴くことに。

画像1

// JSON File Upload
function spine_json_file() {
	define('JSON_FILE_KEY', 'json_file_key');
	define('JSON_NAME_FILE', 'json_name_file');
	wp_nonce_field( plugin_basename( __FILE__ ) , 'json_add_file');
	$id = get_the_ID();
	$post_meta = get_post_meta($id, JSON_FILE_KEY, true);
	if($post_meta) :
		echo '<div><a href="'.$post_meta['url'].'" target="_blank">'.$post_meta['url'].'</a></div>';
	endif;
	$name = JSON_NAME_FILE;
	echo '<input type="file" name="{$name}" id="{$name}" value="" />';
	if($post_meta) :
		echo '<label><input type="checkbox" name="{$name}_delete" id="{$name}_delete" value="1" />ファイル削除</label>';
	endif;
}

function json_metabox_file() {
	$slags = get_post_types();
	foreach ( $slags as $slag ) {
		add_meta_box(
			'json_file',
			'Spine json upload',
			'spine_json_file',
			$slag ,
			'normal',
			'high'
		);
	}
}
add_action('add_meta_boxes', 'json_meta_boxes_file');

取り急ぎメタボックスを表示するコードをサンプルを見ながら書いてみる。
キャプチャーのようにファイルが追加できるようになったので、これならバージョン管理とかもできて良いんじゃない? ということで。

あとはファイルアップローダーを追加すれば、大きな課題は一つ通過しそうです。今日は時間的にここまで。

参考ソースを探したら見つけたので、大いに参考にさせていただきます。




この記事が気に入ったらサポートをしてみませんか?