こんにちは
ざっと見た感じでは、適当な手段(フックや設定)は用意されていないようです。プラグインのサポートページで要望を出してみてはいかがでしょうか。
サンプルコードを書いてみました。無理やり感半端ないので、参考までということで……
add_action( 'wpmem_after_admin_init', function() {
global $wpmem;
remove_action( 'wpmem_admin_after_block_meta', array( $wpmem->membership->admin, 'add_product_to_post' ), 10, 2 );
add_action( 'wpmem_admin_after_block_meta', 'my_add_product_to_post', 10, 2 );
} );
// WP_Members_Products_Admin::add_product_to_post()
function my_add_product_to_post( $post, $block ) {
global $pagenow, $wpmem;
$is_new = ( 'post-new.php' === $pagenow );
$product = $wpmem->membership->get_post_products( $post->ID );
$product = ( $product ) ? $product : array();
$values[] = __( 'None', 'wp-members' ) . '|';
$pages = get_pages( array( 'post_type' => 'wpmem_product', 'sort_column' => 'menu_order, post_title' ) );
foreach ( $pages as $page ) {
if ( $is_new ) {
if (
isset( $wpmem->membership->products[$page->post_name]['set_default_' . $post->post_type] )
&& 1 == $wpmem->membership->products[$page->post_name]['set_default_' . $post->post_type]
) {
$product[] = $page->post_name;
}
}
$values[] = $page->post_title . '|' . $page->post_name;
}
echo wpmem_form_label( array(
'meta_key' => $wpmem->membership->post_meta,
'label' => __( 'Restrict access by membership:', 'wp-members' ),
'type' => 'multiselect'
) );
echo "<br />";
echo wpmem_form_field( array(
'name' => $wpmem->membership->post_meta,
'type' => 'multiselect',
'value' => $values,
'compare' => $product,
'class' => 'wpmem-product-select2 populate placeholder',
) );
}
@ishitaka さん
返信&サンプルコードありがとうございました。
参考にします。・・と言いつつそのまま使用させて頂き反映されました!
要望提出もしつつ、サンプルコードで行くか検討したいと思います。