Custom Fields
Re-Envisioned
Support Meta Box AIO Second taxonomy not showing when copying php code

  • Creator
    Topic
  • #28181
    Resolved info@ivanit.nl
    Participant

    I created a custom post type.
    Added 2 Taxonomies (like categories --> sortable)
    Some custom fields

    When I copy the php code from these fields and put them into functions.php or make a plug-in out of it, only 1 Taxonomy is showing in the menu (but it is there in the menu) and the custom fields completely dissappear.

    Here is the code:

    add_action( 'init', 'ivanit_socialekaarten' );
    function ivanit_socialekaarten() {
        $labels = [
            'name'                     => esc_html__( 'Sociale Kaarten', 'ivanit-socialekaarten' ),
            'singular_name'            => esc_html__( 'Sociale kaart', 'ivanit-socialekaarten' ),
            'add_new'                  => esc_html__( 'Nieuwe toevoegen', 'ivanit-socialekaarten' ),
            'add_new_item'             => esc_html__( 'Nieuwe sociale kaart', 'ivanit-socialekaarten' ),
            'edit_item'                => esc_html__( 'Bewerk Sociale kaart', 'ivanit-socialekaarten' ),
            'new_item'                 => esc_html__( 'Nieuwe Sociale kaart', 'ivanit-socialekaarten' ),
            'view_item'                => esc_html__( 'Bekijk Sociale kaart', 'ivanit-socialekaarten' ),
            'view_items'               => esc_html__( 'bekijk Sociale Kaarten', 'ivanit-socialekaarten' ),
            'search_items'             => esc_html__( 'Zoek Sociale Kaarten', 'ivanit-socialekaarten' ),
            'not_found'                => esc_html__( 'Geen kaarten gevonden', 'ivanit-socialekaarten' ),
            'not_found_in_trash'       => esc_html__( 'Geen sociale kaarten gevonden in prullenbak', 'ivanit-socialekaarten' ),
            'parent_item_colon'        => esc_html__( 'Parent Sociale kaart:', 'ivanit-socialekaarten' ),
            'all_items'                => esc_html__( 'Alle Sociale Kaarten', 'ivanit-socialekaarten' ),
            'archives'                 => esc_html__( 'Sociale kaart archieven', 'ivanit-socialekaarten' ),
            'attributes'               => esc_html__( 'Sociale kaart Attributen', 'ivanit-socialekaarten' ),
            'insert_into_item'         => esc_html__( 'Voeg sociale kaart in', 'ivanit-socialekaarten' ),
            'uploaded_to_this_item'    => esc_html__( 'Geupload naar deze sociale kaart', 'ivanit-socialekaarten' ),
            'featured_image'           => esc_html__( 'Uitgelichte afbeelding', 'ivanit-socialekaarten' ),
            'set_featured_image'       => esc_html__( 'Set featured image', 'ivanit-socialekaarten' ),
            'remove_featured_image'    => esc_html__( 'Remove featured image', 'ivanit-socialekaarten' ),
            'use_featured_image'       => esc_html__( 'Use as featured image', 'ivanit-socialekaarten' ),
            'menu_name'                => esc_html__( 'Sociale Kaarten', 'ivanit-socialekaarten' ),
            'filter_items_list'        => esc_html__( 'Filter sociale kaarten lijst', 'ivanit-socialekaarten' ),
            'filter_by_date'           => esc_html__( '', 'ivanit-socialekaarten' ),
            'items_list_navigation'    => esc_html__( 'Sociale kaarten lijst navigatie', 'ivanit-socialekaarten' ),
            'items_list'               => esc_html__( 'Sociale Kaarten lijst', 'ivanit-socialekaarten' ),
            'item_published'           => esc_html__( 'Sociale kaart gepubliceerd', 'ivanit-socialekaarten' ),
            'item_published_privately' => esc_html__( 'Sociale kaart privé gepubliceerd', 'ivanit-socialekaarten' ),
            'item_reverted_to_draft'   => esc_html__( 'Sociale kaart omgezet naar concept', 'ivanit-socialekaarten' ),
            'item_scheduled'           => esc_html__( 'Sociale kaart geplanned', 'ivanit-socialekaarten' ),
            'item_updated'             => esc_html__( 'Sociale kaart bijgewerkt', 'ivanit-socialekaarten' ),
            'text_domain'              => esc_html__( 'ivanit-socialekaarten', 'ivanit-socialekaarten' ),
        ];
        $args = [
            'label'               => esc_html__( 'Sociale Kaarten', 'ivanit-socialekaarten' ),
            'labels'              => $labels,
            'description'         => '',
            'public'              => true,
            'hierarchical'        => false,
            'exclude_from_search' => false,
            'publicly_queryable'  => true,
            'show_ui'             => true,
            'show_in_nav_menus'   => true,
            'show_in_admin_bar'   => true,
            'show_in_rest'        => true,
            'query_var'           => true,
            'can_export'          => true,
            'delete_with_user'    => true,
            'has_archive'         => true,
            'rest_base'           => '',
            'show_in_menu'        => true,
            'menu_icon'           => 'dashicons-admin-home',
            'menu_position'       => '',
            'capability_type'     => 'post',
            'supports'            => ['title'],
            'taxonomies'          => ['leeftijdscategorie', 'locatie'],
            'rewrite'             => [
                'with_front' => false,
            ],
        ];
    
    register_post_type( 'sociale-kaart', $args );
    }
    
    add_action( 'init', 'ivanit_locaties' );
    function ivanit_locaties() {
        $labels = [
            'name'                       => esc_html__( 'locaties', 'ivanit-locaties' ),
            'singular_name'              => esc_html__( 'locatie', 'ivanit-locaties' ),
            'menu_name'                  => esc_html__( 'Locaties', 'ivanit-locaties' ),
            'search_items'               => esc_html__( 'Search locaties', 'ivanit-locaties' ),
            'popular_items'              => esc_html__( 'Popular locaties', 'ivanit-locaties' ),
            'all_items'                  => esc_html__( 'All locaties', 'ivanit-locaties' ),
            'parent_item'                => esc_html__( 'Parent locatie', 'ivanit-locaties' ),
            'parent_item_colon'          => esc_html__( 'Parent locatie', 'ivanit-locaties' ),
            'edit_item'                  => esc_html__( 'Edit locatie', 'ivanit-locaties' ),
            'view_item'                  => esc_html__( 'View locatie', 'ivanit-locaties' ),
            'update_item'                => esc_html__( 'Update locatie', 'ivanit-locaties' ),
            'add_new_item'               => esc_html__( 'Add new locatie', 'ivanit-locaties' ),
            'new_item_name'              => esc_html__( 'New locatie name', 'ivanit-locaties' ),
            'separate_items_with_commas' => esc_html__( 'Separate locaties with commas', 'ivanit-locaties' ),
            'add_or_remove_items'        => esc_html__( 'Add or remove locaties', 'ivanit-locaties' ),
            'choose_from_most_used'      => esc_html__( 'Choose most used locaties', 'ivanit-locaties' ),
            'not_found'                  => esc_html__( 'No locaties found', 'ivanit-locaties' ),
            'no_terms'                   => esc_html__( 'No locaties', 'ivanit-locaties' ),
            'filter_by_item'             => esc_html__( 'Filter by locatie', 'ivanit-locaties' ),
            'items_list_navigation'      => esc_html__( 'Locaties list pagination', 'ivanit-locaties' ),
            'items_list'                 => esc_html__( 'Locaties list', 'ivanit-locaties' ),
            'most_used'                  => esc_html__( 'Most Used', 'ivanit-locaties' ),
            'back_to_items'              => esc_html__( 'Back to locaties', 'ivanit-locaties' ),
            'text_domain'                => esc_html__( 'ivanit-locaties', 'ivanit-locaties' ),
        ];
        $args = [
            'label'              => esc_html__( 'Locaties', 'ivanit-locaties' ),
            'labels'             => $labels,
            'description'        => '',
            'public'             => true,
            'publicly_queryable' => true,
            'hierarchical'       => true,
            'show_ui'            => true,
            'show_in_menu'       => true,
            'show_in_nav_menus'  => true,
            'meta_box_cb'        => 'post_categories_meta_box',
            'show_in_rest'       => true,
            'show_tagcloud'      => true,
            'show_in_quick_edit' => true,
            'show_admin_column'  => false,
            'query_var'          => true,
            'sort'               => false,
            'rest_base'          => '',
            'rewrite'            => [
                'with_front'   => false,
                'hierarchical' => false,
            ],
        ];
        register_taxonomy( 'locatie', ['sociale-kaart'], $args );
    }
    
    add_action( 'init', 'ivanit_leeftijdscategorie' );
    function ivanit_leeftijdscategorie() {
        $labels = [
            'name'                       => esc_html__( 'leeftijdscategoriën', 'ivanit-leeftijdscategorie' ),
            'singular_name'              => esc_html__( 'leeftijdscategorie', 'ivanit-leeftijdscategorie' ),
            'menu_name'                  => esc_html__( 'Leeftijdscategoriën', 'ivanit-leeftijdscategorie' ),
            'search_items'               => esc_html__( 'Search leeftijdscategoriën', 'ivanit-leeftijdscategorie' ),
            'popular_items'              => esc_html__( 'Popular leeftijdscategoriën', 'ivanit-leeftijdscategorie' ),
            'all_items'                  => esc_html__( 'All leeftijdscategoriën', 'ivanit-leeftijdscategorie' ),
            'parent_item'                => esc_html__( 'Parent leeftijdscategorie', 'ivanit-leeftijdscategorie' ),
            'parent_item_colon'          => esc_html__( 'Parent leeftijdscategorie', 'ivanit-leeftijdscategorie' ),
            'edit_item'                  => esc_html__( 'Edit leeftijdscategorie', 'ivanit-leeftijdscategorie' ),
            'view_item'                  => esc_html__( 'View leeftijdscategorie', 'ivanit-leeftijdscategorie' ),
            'update_item'                => esc_html__( 'Update leeftijdscategorie', 'ivanit-leeftijdscategorie' ),
            'add_new_item'               => esc_html__( 'Add new leeftijdscategorie', 'ivanit-leeftijdscategorie' ),
            'new_item_name'              => esc_html__( 'New leeftijdscategorie name', 'ivanit-leeftijdscategorie' ),
            'separate_items_with_commas' => esc_html__( 'Separate leeftijdscategoriën with commas', 'ivanit-leeftijdscategorie' ),
            'add_or_remove_items'        => esc_html__( 'Add or remove leeftijdscategoriën', 'ivanit-leeftijdscategorie' ),
            'choose_from_most_used'      => esc_html__( 'Choose most used leeftijdscategoriën', 'ivanit-leeftijdscategorie' ),
            'not_found'                  => esc_html__( 'No leeftijdscategoriën found', 'ivanit-leeftijdscategorie' ),
            'no_terms'                   => esc_html__( 'No leeftijdscategoriën', 'ivanit-leeftijdscategorie' ),
            'filter_by_item'             => esc_html__( 'Filter by leeftijdscategorie', 'ivanit-leeftijdscategorie' ),
            'items_list_navigation'      => esc_html__( 'Leeftijdscategoriën list pagination', 'ivanit-leeftijdscategorie' ),
            'items_list'                 => esc_html__( 'Leeftijdscategoriën list', 'ivanit-leeftijdscategorie' ),
            'most_used'                  => esc_html__( 'Most Used', 'ivanit-leeftijdscategorie' ),
            'back_to_items'              => esc_html__( 'Back to leeftijdscategoriën', 'ivanit-leeftijdscategorie' ),
            'text_domain'                => esc_html__( 'ivanit-leeftijdscategorie', 'ivanit-leeftijdscategorie' ),
        ];
        $args = [
            'label'              => esc_html__( 'Leeftijdscategoriën', 'ivanit-leeftijdscategorie' ),
            'labels'             => $labels,
            'description'        => '',
            'public'             => true,
            'publicly_queryable' => true,
            'hierarchical'       => true,
            'show_ui'            => true,
            'show_in_menu'       => true,
            'show_in_nav_menus'  => true,
            'meta_box_cb'        => 'post_categories_meta_box',
            'show_in_rest'       => true,
            'show_tagcloud'      => true,
            'show_in_quick_edit' => true,
            'show_admin_column'  => false,
            'query_var'          => true,
            'sort'               => false,
            'rest_base'          => '',
            'rewrite'            => [
                'with_front'   => false,
                'hierarchical' => false,
            ],
        ];
        register_taxonomy( 'leeftijdscategorie', ['sociale-kaart'], $args );
    }
    add_filter( 'rwmb_meta_boxes', 'ivanit_extra' );
    
    function ivanit_extra( $meta_boxes ) {
        $prefix = '';
    
    $meta_boxes[] = [
        'title'      => __( 'Overige velden', 'ivanit_extra' ),
        'id'         => 'website',
        'post_types' => ['sociale-kaart'],
        'fields'     => [
            [
                'name'          => __( 'Aanbod> behandeling en diagnostiek', 'ivanit_extra' ),
                'id'            => $prefix . 'Aanbod',
                'type'          => 'wysiwyg',
                'required'      => 1,
                'admin_columns' => [
                    'position'   => 'after title',
                    'title'      => 'Aanbod',
                    'sort'       => 1,
                    'searchable' => 1,
                    'filterable' => 1,
                ],
                'save_field'    => 1,
            ],
            [
                'name'          => __( 'Voor de website url in beginnend met https://', 'ivanit_extra' ),
                'id'            => $prefix . 'website_url',
                'type'          => 'text',
                'required'      => 1,
                'admin_columns' => [
                    'position'   => 'after Aanbod',
                    'title'      => 'URL',
                    'sort'       => 1,
                    'searchable' => 1,
                    'filterable' => 1,
                ],
                'save_field'    => 1,
            ],
            [
                'name'          => __( 'Bijzonderheden', 'ivanit_extra' ),
                'id'            => $prefix . 'Bijzonderheden',
                'type'          => 'wysiwyg',
                'required'      => 1,
                'admin_columns' => [
                    'position'   => 'after website_url',
                    'title'      => 'Bijzonderhden',
                    'sort'       => 1,
                    'searchable' => 1,
                    'filterable' => 1,
                ],
                'save_field'    => 1,
            ],
        ],
    ];
    
    return $meta_boxes;
    }

    When you add this as a plug-in or into functions.php, check the menu, below locaties there is the hidden option "Leeftijdscategoriën". Why is this not by name in the menu? And the first taxonomy is.
    Why are the custom fields not in the custom post type?

    Thank you in advance.

Viewing 3 replies - 1 through 3 (of 3 total)
  • Author
    Replies
  • #28203
    Long Nguyen
    Moderator

    Hi Ivan,

    I do not see the issue on my local site, screen record https://share.getcloudapp.com/P8u5AQBn.

    Can you please re-add the code then check the taxonomy leeftijdscategorie and custom fields?

    #28297
    info@ivanit.nl
    Participant

    I found the problem the name leeftijdscategoriën the ë is the problem, change this to leeftijdscategoriën and it is fixed.

    Thank you for your help.

    #28299
    info@ivanit.nl
    Participant

    Sorry change it to: Leeftijdscategori & e u m l ; n (otherwise you don't see the difference, remove the spaces).

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