Custom Fields API 映画サイトを作成

php編集

my-custom-plugin>my-custom-plugin.php

/**
 * カスタム投稿タイプ:movie
 * カスタムフィールドをバインディング
 */
add_action( 'init', 'prof_register_meta' );

function prof_register_meta() {
	register_meta(
		'post',
		'length',
		array(
			'show_in_rest'      => true,
			'single'            => true,
			'type'              => 'string',
			'sanitize_callback' => 'prof_cf_length_callback'
		)
	);
}


register_block_bindings_source(
	"my-plugin/rate",
	array(
		'label'								=> 'Rate',
		'get_value_callback'	=> 'movie_rate_callback',
	)
);

function movie_rate_callback($source_attrs, $block_instance){
	// return  '90%';
	return rand(0, 100) . '%';
}

コードエディタを編集

<!-- wp:paragraph {
	"metadata":{
		"bindings":{
			"content":{
				"source":"core/post-meta",
				"args":{
					"key":"length"
				}
			}
		}
	}
} -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph {
	"metadata":{
		"bindings":{
			"content":{
				"source":"my-plugin/rate"
			}
		}
	}
} -->
<p></p>
<!-- /wp:paragraph -->