Bug: Conditional Logic Set On Value Of Taxonomy Custom Field Prevents Post Save

Support MB Conditional Logic Bug: Conditional Logic Set On Value Of Taxonomy Custom Field Prevents Post Save

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #40523
    James CooperJames Cooper
    Participant

    I added a custom taxonomy field and a custom group field. I set conditional logic on the group field to display when the selected taxonomy contained a certain keyword. When this is active, if I go to the post where the custom fields are inserted and select the taxonomy term via the custom taxonomy field, and then try to save the post, the save does not work.

    #40524
    James CooperJames Cooper
    Participant

    I'll also mention that although I have only added one taxonomy field named product_merchant, two options for the field appear in the conditional logic selection. This also seems to be a bug.

    #40535
    PeterPeter
    Moderator

    Hello James,

    Can you please share the code that you use to create the conditional logic and custom fields on your site? And please share some screenshots or a screen record of the issue. I will try to reproduce it on my local site to see if it is a bug.

    #40627
    James CooperJames Cooper
    Participant

    I can't seem to reproduce the 'Post Save' issue currently. So, maybe it has resolved itself somehow.

    However, I have recorded a video of the second issue I mentioned (duplicate values in the conditional logic select box).

    Duplicate Values In Conditional Logic Select Box

    Here is the generated PHP code as well:

    
    <?php
    add_filter( 'rwmb_meta_boxes', 'product_custom_fields' );
    
    function product_custom_fields( $meta_boxes ) {
        $prefix = '';
    
        $meta_boxes[] = [
            'title'      => __( 'Product', 'product' ),
            'id'         => 'product',
            'post_types' => ['product'],
            'fields'     => [
                [
                    'type' => 'heading',
                    'name' => __( 'Product Details', 'product' ),
                ],
                [
                    'name' => __( 'Product Description', 'product' ),
                    'id'   => $prefix . 'product_description',
                    'type' => 'wysiwyg',
                ],
                [
                    'name'           => __( 'Product Categories', 'product' ),
                    'id'             => $prefix . 'product_categories',
                    'type'           => 'taxonomy',
                    'taxonomy'       => ['product-category'],
                    'field_type'     => 'select_advanced',
                    'placeholder'    => __( 'Select categories', 'product' ),
                    'add_new'        => true,
                    'remove_default' => true,
                    'multiple'       => true,
                ],
                [
                    'name'           => __( 'Product Type', 'product' ),
                    'id'             => $prefix . 'product_type',
                    'type'           => 'taxonomy',
                    'taxonomy'       => ['product-type'],
                    'field_type'     => 'select_advanced',
                    'placeholder'    => __( 'Select a product type', 'product' ),
                    'add_new'        => true,
                    'remove_default' => true,
                ],
                [
                    'name'           => __( 'Merchant', 'product' ),
                    'id'             => $prefix . 'product_merchant',
                    'type'           => 'taxonomy',
                    'taxonomy'       => ['merchant'],
                    'field_type'     => 'select_advanced',
                    'placeholder'    => __( 'Select a merchant', 'product' ),
                    'add_new'        => true,
                    'remove_default' => true,
                ],
                [
                    'name'           => __( 'Brand', 'product' ),
                    'id'             => $prefix . 'product_brand',
                    'type'           => 'taxonomy',
                    'taxonomy'       => ['brand'],
                    'field_type'     => 'select_advanced',
                    'placeholder'    => __( 'Select a brand', 'product' ),
                    'add_new'        => true,
                    'remove_default' => true,
                ],
                [
                    'name' => __( 'Intended Use', 'product' ),
                    'id'   => $prefix . 'product_intended_use',
                    'type' => 'text',
                ],
                [
                    'name'    => __( 'Schema Categorization', 'product' ),
                    'id'      => $prefix . 'product_schema_categorization',
                    'type'    => 'button_group',
                    'options' => [
                        'uncategorized' => __( 'Uncategorized', 'product' ),
                        'tool'          => __( 'Tool', 'product' ),
                        'supply'        => __( 'Supply', 'product' ),
                    ],
                    'std'     => 'uncategorized',
                    'tooltip' => [
                        'icon'     => '',
                        'position' => 'top',
                        'content'  => 'Supplies and tools are used to complete the how-to instructions.',
                    ],
                ],
                [
                    'name'    => __( ' ', 'product' ),
                    'id'      => $prefix . 'product_schema_categorization_tool_message',
                    'type'    => 'custom_html',
                    'std'     => '<span>A tool is used (but not consumed) when performing instructions for how to achieve a result.</span>',
                    'visible' => [
                        'when'     => [['product_schema_categorization', '=', 'tool']],
                        'relation' => 'or',
                    ],
                ],
                [
                    'name'    => __( ' ', 'product' ),
                    'id'      => $prefix . 'product_schema_categorization_supply_message',
                    'type'    => 'custom_html',
                    'std'     => '<span>A supply is consumed when performing the instructions for how to achieve a result.</span>',
                    'visible' => [
                        'when'     => [['product_schema_categorization', '=', 'supply']],
                        'relation' => 'or',
                    ],
                ],
                [
                    'type' => 'heading',
                    'name' => __( 'Pricing', 'product' ),
                ],
                [
                    'name'       => __( ' ', 'product' ),
                    'id'         => $prefix . 'product_pricing_group',
                    'type'       => 'group',
                    'clone'      => true,
                    'sort_clone' => true,
                    'fields'     => [
                        [
                            'name'    => __( 'Pricing Label', 'product' ),
                            'id'      => $prefix . 'product_pricing_label',
                            'type'    => 'text',
                            'columns' => 6,
                        ],
                        [
                            'name'    => __( 'Price', 'product' ),
                            'id'      => $prefix . 'product_price',
                            'type'    => 'number',
                            'columns' => 6,
                        ],
                    ],
                ],
                [
                    'type' => 'heading',
                    'name' => __( 'Core Features & Benefits', 'product' ),
                ],
                [
                    'name'       => __( ' ', 'product' ),
                    'id'         => $prefix . 'product_core_features',
                    'type'       => 'group',
                    'clone'      => true,
                    'sort_clone' => true,
                    'tooltip'    => [
                        'icon'     => '',
                        'position' => 'top',
                        'content'  => 'These are the features that readers care about most.',
                    ],
                    'fields'     => [
                        [
                            'name' => __( 'Feature', 'product' ),
                            'id'   => $prefix . 'product_feature',
                            'type' => 'text',
                        ],
                        [
                            'name' => __( 'Feature Icon', 'product' ),
                            'id'   => $prefix . 'product_feature_icon',
                            'type' => 'single_image',
                        ],
                        [
                            'name' => __( 'Feature Rating', 'product' ),
                            'id'   => $prefix . 'product_feature_rating',
                            'type' => 'star_rating',
                        ],
                        [
                            'name' => __( 'Feature Details', 'product' ),
                            'id'   => $prefix . 'product_feature_details',
                            'type' => 'wysiwyg',
                        ],
                        [
                            'name'    => __( 'Feature Benefit', 'product' ),
                            'id'      => $prefix . 'product_feature_benefit',
                            'type'    => 'text',
                            'tooltip' => [
                                'icon'     => '',
                                'position' => 'top',
                                'content'  => 'How does this feature benefit the reader?',
                            ],
                        ],
                    ],
                ],
                [
                    'type' => 'heading',
                    'name' => __( 'Recommended For', 'product' ),
                ],
                [
                    'name'       => __( 'Recommended For', 'product' ),
                    'id'         => $prefix . 'product_recommended_for',
                    'type'       => 'text',
                    'clone'      => true,
                    'sort_clone' => true,
                    'tooltip'    => [
                        'icon'     => '',
                        'position' => 'top',
                        'content'  => 'Who is this product recommended for?',
                    ],
                ],
                [
                    'type' => 'heading',
                    'name' => __( 'Pros & Cons', 'product' ),
                ],
                [
                    'name'       => __( 'Pros', 'product' ),
                    'id'         => $prefix . 'product_pros',
                    'type'       => 'text',
                    'clone'      => true,
                    'sort_clone' => true,
                ],
                [
                    'name'       => __( 'Cons', 'product' ),
                    'id'         => $prefix . 'product_cons',
                    'type'       => 'text',
                    'clone'      => true,
                    'sort_clone' => true,
                ],
                [
                    'type' => 'heading',
                    'name' => __( 'Alternatives', 'product' ),
                ],
                [
                    'name'     => __( 'Alternatives Label', 'product' ),
                    'id'       => $prefix . 'product_alternatives_label',
                    'type'     => 'text',
                    'std'      => 'Alternatives',
                    'columns'  => 6,
                    'datalist' => [
                        'id'      => '63f3a88019885',
                        'options' => [
                            'Alternatives
    ',
                            'Competitors
    ',
                            'Replacements',
                        ],
                    ],
                ],
                [
                    'name'       => __( 'Alternative (#)', 'product' ),
                    'id'         => $prefix . 'product_alternative',
                    'type'       => 'post',
                    'post_type'  => ['product'],
                    'field_type' => 'select_advanced',
                    'clone'      => true,
                    'sort_clone' => true,
                ],
                [
                    'name'       => __( 'Product Alternatives', 'product' ),
                    'id'         => $prefix . 'product_alternatives_group',
                    'type'       => 'group',
                    'clone'      => true,
                    'sort_clone' => true,
                    'fields'     => [
                        [
                            'name'    => __( 'Alternative Name', 'product' ),
                            'id'      => $prefix . 'product_alternative_name',
                            'type'    => 'text',
                            'columns' => 6,
                        ],
                        [
                            'name'        => __( 'Alternative URL', 'product' ),
                            'id'          => $prefix . 'product_alternative_url',
                            'type'        => 'url',
                            'placeholder' => __( 'http://www.alternative-url.com', 'product' ),
                            'columns'     => 6,
                        ],
                        [
                            'name' => __( 'Best For', 'product' ),
                            'id'   => $prefix . 'product_alternative_best_for',
                            'type' => 'text',
                        ],
                        [
                            'name' => __( 'Price', 'product' ),
                            'id'   => $prefix . 'product_alternative_price',
                            'type' => 'text',
                        ],
                    ],
                ],
                [
                    'type' => 'heading',
                    'name' => __( 'Media', 'product' ),
                ],
                [
                    'name'       => __( 'Product Image', 'product' ),
                    'id'         => $prefix . 'product_image',
                    'type'       => 'single_image',
                    'image_size' => 'image-1000',
                ],
                [
                    'name'       => __( 'Product Gallery', 'product' ),
                    'id'         => $prefix . 'product_image_gallery',
                    'type'       => 'image_advanced',
                    'image_size' => 'image-1000',
                ],
                [
                    'type' => 'heading',
                    'name' => __( 'Link Details', 'product' ),
                ],
                [
                    'name'        => __( 'Product Link', 'product' ),
                    'id'          => $prefix . 'product_link',
                    'type'        => 'url',
                    'placeholder' => __( 'http://www.link-to-product.com', 'product' ),
                ],
                [
                    'name' => __( 'Product link is an affiliate link?', 'product' ),
                    'id'   => $prefix . 'product_link_is_affiliate_link',
                    'type' => 'checkbox',
                ],
                [
                    'name'    => __( 'Link Text', 'product' ),
                    'id'      => $prefix . 'product_link_text',
                    'type'    => 'text',
                    'tooltip' => [
                        'icon'     => '',
                        'position' => 'top',
                        'content'  => 'If the product link is added to content as text, this is the text that is used for the link.',
                    ],
                ],
                [
                    'type' => 'heading',
                    'name' => __( 'Card Details', 'product' ),
                    'desc' => __( 'Add information for elements the are displayed on product cards.', 'product' ),
                ],
                [
                    'name'    => __( 'Card Heading', 'product' ),
                    'id'      => $prefix . 'product_card_heading_choice',
                    'type'    => 'button_group',
                    'options' => [
                        'linktext' => __( 'Use Link Text For Card Heading', 'product' ),
                        'custom'   => __( 'Add Custom Card Heading', 'product' ),
                    ],
                    'std'     => 'linktext',
                ],
                [
                    'name'    => __( 'Custom Heading', 'product' ),
                    'id'      => $prefix . 'product_card_heading',
                    'type'    => 'text',
                    'visible' => [
                        'when'     => [['product_card_heading_choice', '=', 'custom']],
                        'relation' => 'or',
                    ],
                ],
                [
                    'name' => __( 'Sub Heading', 'product' ),
                    'id'   => $prefix . 'product_card_sub_heading',
                    'type' => 'text',
                ],
                [
                    'name'    => __( 'CTA Text', 'product' ),
                    'id'      => $prefix . 'product_CTA_text',
                    'type'    => 'text',
                    'tooltip' => [
                        'icon'     => '',
                        'position' => 'top',
                        'content'  => 'Use actionable text to be displayed on buttons.',
                    ],
                ],
                [
                    'name'    => __( 'Do you own this product?', 'product' ),
                    'id'      => $prefix . 'product_own_it',
                    'type'    => 'checkbox',
                    'tooltip' => [
                        'icon'     => '',
                        'position' => 'top',
                        'content'  => 'When selected, an "Own It" ribbon is displayed on the product card.',
                    ],
                ],
                [
                    'type' => 'heading',
                    'name' => __( 'Product Amazon Codes', 'product' ),
                ],
                [
                    'id'      => $prefix . 'product_amazon_codes',
                    'type'    => 'group',
                    'fields'  => [
                        [
                            'name' => __( 'Amazon Image Code', 'product' ),
                            'id'   => $prefix . 'product_amazon_image_code',
                            'type' => 'textarea',
                            'rows' => 10,
                        ],
                        [
                            'name' => __( 'Amazon Native Ads Code', 'product' ),
                            'id'   => $prefix . 'product_amazon_native_ads_code',
                            'type' => 'textarea',
                            'rows' => 11,
                        ],
                    ],
                    'visible' => [
                        'when'     => [['product_mercant', '=', 'amazon']],
                        'relation' => 'or',
                    ],
                ],
                [
                    'name' => __( ' ', 'product' ),
                    'id'   => $prefix . 'product_add_brand_link',
                    'type' => 'custom_html',
                    'std'  => '<a href="/wp-admin/post-new.php?post_type=review" target="_blank" class="button">+ Add Review</a>',
                ],
            ],
        ];
    
        return $meta_boxes;
    }
    
    #40640
    PeterPeter
    Moderator

    Hello,

    Thanks for your details. I see that issue on my demo site and I've escalated this issue to the development team to fix it in the next update.

    #40653
    James CooperJames Cooper
    Participant

    Great! Thank you Peter!

    #40752
    James CooperJames Cooper
    Participant

    Hi Peter,

    I see that there was an update to Meta Box released today. However, the fix for this issue did not make it into this release. The issue is still present. Any news on when it will be fixed?

    Thanks!

    #40755
    PeterPeter
    Moderator

    Hello,

    Thanks for following up. This issue relates to the extension MB Builder, not Meta Box itself. This issue is in our development queue so please wait for the next updates of our plugins.

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.