- Home
- Categorie
- Coding e Sistemistica
- CMS & Piattaforme Self-Hosted
- register_post_type e nuova voce nel menu admin
-
register_post_type e nuova voce nel menu admin
Salve a tutti,
leggendo la documentazione ho creato il seguente custom post type:function create_post_type_excursion() { register_post_type('event', array( 'labels' => array( 'name' => __( 'Escursioni', 'qns' ), 'singular_name' => __( 'Escursioni', 'qns' ), 'add_new' => __('Aggiungi nuovo', 'qns' ), 'add_new_item' => __('Aggiungi nuova escursione' , 'qns' ) ), 'public' => true, 'menu_position' => 5, 'menu_icon' => get_template_directory_uri() .'/images/admin/events-icon.png', 'rewrite' => array( 'slug' => 'escursioni' ), 'supports' => array( 'title','editor','thumbnail'), )); } add_action( 'init', 'create_post_type_excursion' );
Adesso vorrei inserire la relativa voce nel menu admin, come dovrei procede?
Grazie.
-
Ciao, a occhio sembra che manchino delle voci.
Prova con il seguente codice (da inserire sempre nel file functions.php del tema attivo).
[PHP]
add_action('init', 'register_custom_post_type_escursioni');
function register_custom_post_type_escursioni()
{
$labels = array(
'name' => 'Escursioni',
'singular_name' => 'Escursione',
'add_new' => 'Aggiungi nuova',
'add_new_item' => 'Aggiungi nuova Escursione',
'edit_item' => 'Modifica',
'new_item' => 'Nuova Escursione',
'view_item' => 'Vedi Escursione',
'search_items' => 'Ricerca Escursione',
'not_found' => 'Nessuna Escursione',
'not_found_in_trash' => 'Nessuna Escursione nel Cestino'
);$args = array( 'labels' => $labels, 'public' => true, 'has_archive' => true, 'capability_type' => 'page', 'rewrite' => array('slug' => 'escursioni'), 'supports' => array('title', 'editor', 'thumbnail') ); register_post_type('negozi', $args); }
[/PHP]
Così dovrebbe andare. Fammi sapere.
Per eventuali personalizzazioni puoi fare riferimento al codex di WordPress.org: http://codex.wordpress.org/Function_Reference/register_post_type
-
Ciao Giapox, esatto, avevo messo qualche parametro importante come 'show_ui', 'show_in_menu'.
function create_post_type_excursion() { $args = array( 'labels' => array( 'name' => __( 'Escursioni', 'qns' ), 'singular_name' => __( 'Escursioni', 'qns' ), 'add_new' => __('Aggiungi nuovo', 'qns' ), 'add_new_item' => __('Aggiungi nuova escursione' , 'qns' ) ), 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'menu_icon' => 'dashicons-location', 'query_var' => true, 'rewrite' => array( 'slug' => 'book' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ) ); register_post_type('excursion', $args); } add_action( 'init', 'create_post_type_excursion' );
Grazie!
-
Bene.
-
Salve a tutti,
come indicato sopra sono riuscito ad aggiungere il mio custom type.Ho modificato il parametro "support" con:
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt')
perchè vorrei visualizzare l'immagine in evidenza nella riepilogo delle pagine di quel post type.
Nel functions del mio thema ho:
add_theme_support( 'post-thumbnails' ); if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( "500", "500" ); }
ed io l'ho convertito in:
add_theme_support( 'post-thumbnails' ); if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails', array( 'excursion' ) ); set_post_thumbnail_size( "500", "500" ); }
ma nonostrante ciò la colonne delle immagine in evidenza non viene visualizzata, come mai?
Grazie.
-
Hai controllato se l'opzione dell'immagine in evidenza è selezionata in "Impostazioni schermata"?
-
Si, purtroppo lì vedo solo "Lingue" e "Data"...
Il codice dovrebbe essere corretto, no?
-
Ho cercato un po online, forse ti basterebbe inserire questo codice per abilitare l'immagine in evidenza sul sito:
[PHP]
add_theme_support('post-thumbnails');
[/PHP]Evitando il resto.
E poi, per abilitare l'immagine in evidenza sul tuo custom post type, va bene il tuo codice:
[PHP]
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt')
[/PHP]Così dovrebbe andare.
Fammi sapere.
-
Il codice che ho postato sopra, cioè:
add_theme_support( 'post-thumbnails' ); if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( "500", "500" ); }
è nativo del theme...
Dici di commentare quella o modificarla?
-
In realtà dicevo di commentare questa parte del codice da te aggiunta:
[PHP]
, array( 'excursion' )
[/PHP]Anche se il tuo codice sembra corretto, io ho provato su un mio sito il codice che ti ho postato sopra e funziona.
Quindi, dato che a te non funziona, potresti fare un tentativo con il mio.
-
Certo, vi aggiorno questa sera...