Supporto » Sviluppare con WordPress » Aggiungere una tassonomia non gerarchica ma mostrando il meta box categorie

  • sacconi

    (@sacconi)


    Ho trovato in giro un codice interessante da aggiungere nel file functions.php (almeno così ho fatto io), con lo scopo di creare una custom taxonomy non gerarchica ma da poter gestire visivamente come le categorie. Il codice funziona a metà, nel senso che quando vado nell’admin/post-new vedo sì sulla sinistra, sotto “tag” il nome della nuova gerarchia “Ospiti”, ma sulla destra non trovo un nuovo box simile a quello delle categorie, non trovo proprio niente. Inoltre, al fine di avere questa tassonomia anche fra le colonne dell’admin ho visto che bisogna utilizzare il parametro “show_admin_column:” e poi true come valore, ma non so in che punto del codice ficcarlo. Ecco il codice:

    // Event taxonomies
    add_action( 'init', function() {
        $labels = array(
            'name'              => _x( 'Ospiti', 'taxonomy general name' ),
            'singular_name'     => _x( 'Ospite', 'taxonomy singular name' ),
        );
        register_taxonomy( 'numero_ospiti', array( 'post' ), array(
            'hierarchical'      => false,
            'labels'            => $labels,
            'meta_box_cb'       => "post_categories_meta_box",
        ) );
    } );
    
    add_action( 'admin_head', function() {
        ?>
        <style type="text/css">
            #newtaxonomy_name_parent {
                display: none;
            }
        </style>
        <?php
    });
    add_action( 'admin_init', function() {
        if( isset( $_POST['tax_input'] ) && is_array( $_POST['tax_input'] ) ) {
            $new_tax_input = array();
            foreach( $_POST['tax_input'] as $tax => $terms) {
                if( is_array( $terms ) ) {
                  $taxonomy = get_taxonomy( $tax );
                  if( !$taxonomy->hierarchical ) {
                      $terms = array_map( 'intval', array_filter( $terms ) );
                  }
                }
                $new_tax_input[$tax] = $terms;
            }
            $_POST['tax_input'] = $new_tax_input;
        }
    });

    La pagina su cui ho bisogno di aiuto: [devi essere connesso per vedere il link]

Stai visualizzando 3 risposte - dal 1 al 3 (di 3 totali)
  • Enzo Mele

    (@enzome85)

    Ciao @sacconi ,

    prova ad inserire queste 2 righe nella funzione register_taxonomi sotto a label ecc…

    'show_admin_column'  => true,
     'public'            => true,

    Fammi sapere 😉

    spero di esserti stato utile

    Enzo

    Chi ha creato la discussione sacconi

    (@sacconi)

    Ho letto poco fa che Gutemberg non supporta più meta_box_cb, quindi se non vedo il meta box simil-categorie sulla destra può dipendere da questo. Any idea?

    Per il resto, adesso usando il plug in admin-columns sono riuscito a creare una nuova colonna dedicata alla nuova tassonomia, il cui nome compariva nel menù a tendina tra le tassonomie presenti, quindi ok

    Chi ha creato la discussione sacconi

    (@sacconi)

    Ho trovato il codice per creare un custom meta box però non so come collegare la custom taxonomy con il custom meta box….

    //creating a META BOX
    function custom_meta_box_markup()
    {
        
    }
    
    function add_custom_meta_box()
    {
        add_meta_box("demo-meta-box", "Custom Meta Box", "custom_meta_box_markup", "post", "side", "high", null);
    }
    
    add_action("add_meta_boxes", "add_custom_meta_box");
Stai visualizzando 3 risposte - dal 1 al 3 (di 3 totali)
  • Il topic ‘Aggiungere una tassonomia non gerarchica ma mostrando il meta box categorie’ è chiuso a nuove risposte.