Advertisement
longnguyenwp

test meta box conditional logic

Feb 23rd, 2022
869
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.03 KB | None | 0 0
  1. add_filter( 'rwmb_meta_boxes', 'your_prefix_function_name' );
  2.  
  3. function your_prefix_function_name( $meta_boxes ) {
  4.     $prefix = '';
  5.  
  6.     $meta_boxes[] = [
  7.         'title'      => __( 'Post Meta', 'your-text-domain' ),
  8.         'id'         => 'post-meta',
  9.         'post_types' => ['post'],
  10.         'fields'     => [
  11.             [
  12.                 'name'    => __( 'API version', 'your-text-domain' ),
  13.                 'id'      => $prefix . 'api_version',
  14.                 'type'    => 'select',
  15.                 'options' => [
  16.                     'ver1' => __( 'Version 1', 'your-text-domain' ),
  17.                     'ver2' => __( 'Version 2', 'your-text-domain' ),
  18.                     'ver3' => __( 'Version 3', 'your-text-domain' ),
  19.                 ],
  20.             ]
  21.         ],
  22.     ];
  23.  
  24.     $meta_boxes[] = [
  25.         'title'      => __( 'Version 2', 'your-text-domain' ),
  26.         'id'         => 'version-2',
  27.         'post_types' => ['post'],
  28.         'visible'    => [
  29.             'when'     => [['api_version', '=', 'ver2']],
  30.             'relation' => 'or',
  31.         ],
  32.         'fields'     => [
  33.             [
  34.                 'name' => __( 'Button', 'your-text-domain' ),
  35.                 'id'   => $prefix . 'button_1x23b7ksihm',
  36.                 'type' => 'button',
  37.             ],
  38.             [
  39.                 'name' => __( 'Textarea', 'your-text-domain' ),
  40.                 'id'   => $prefix . 'textarea_b0zkrtrtzei',
  41.                 'type' => 'textarea',
  42.             ],
  43.         ],
  44.     ];
  45.  
  46.     $meta_boxes[] = [
  47.         'title'      => __( 'Version 3', 'your-text-domain' ),
  48.         'id'         => 'version-3',
  49.         'post_types' => ['post'],
  50.         'visible'    => [
  51.             'when'     => [['api_version', '=', 'ver3']],
  52.             'relation' => 'or',
  53.         ],
  54.         'fields'     => [
  55.             [
  56.                 'name' => __( 'Text', 'your-text-domain' ),
  57.                 'id'   => $prefix . 'text_vwrjp72xk2q',
  58.                 'type' => 'text',
  59.             ],
  60.         ],
  61.     ];
  62.  
  63.     return $meta_boxes;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement