- Home
- Categorie
- Coding e Sistemistica
- WordPress
- Tema child functions.php
-
Tema child functions.php
Salve, dovrei inserire il seguente codice php in un file functions.php per il mio tema child
ma probabilmente la sintassi è sbagliata quindi mi da un errore quando abilito il tema.
Inizialmente lo misi nel functions.php genitore e funziona..... se inserisco il seguente codice in un file functions.php del tema child mi esce un errore.
Ecco il codice://creo il post type per l'area riservata add_action('init', 'crea_contenuti'); function crea_contenuti() { $labels = array( 'name' => __('Area Riservata'), 'singular_name' => __('Contenuto'), 'add_new' => __('Aggiungi Contenuto'), 'add_new_item' => __('Nuovo Contenuto'), 'edit_item' => __('Modifica Contenuto'), 'new_item' => __('Nuovo Contenuto'), 'all_items' => __('Elenco Contenuti'), 'view_item' => __('Visualizza Contenuti'), 'search_items' => __('Cerca Contenuto'), 'not_found' => __('Contenuto non trovato'), 'not_found_in_trash' => __('Contenuto non trovato nel cestino'), ); $args = array( 'labels' => $labels, 'public' => true, 'rewrite' => array('slug' => 'contenuti'), 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'thumbnail' ), ); register_post_type('area-riservata', $args); }
//rendo il post type privato di default function force_type_private($post) { if ($post['post_type'] != 'area-riservata' || $post['post_status'] == 'trash') return $post; $post['post_status'] = 'private'; return $post; } add_filter('wp_insert_post_data', 'force_type_private');//rendo il post privato visibile al ruolo sottoscrittore $subRole = get_role( 'subscriber' ); $subRole->add_cap( 'read_private_posts' );
// Rimuovo Privato dal titolo function clean_title($titolo) { $titolo = attribute_escape($titolo); $cerca = array( '#Privato:#' ); $sostituisci = array( '-' // Sostituiamo la voce "Privato" con ); $titolo = preg_replace($cerca, $sostituisci, $titolo); return $titolo; } add_filter('the_title', 'clean_title');
//nascondo la barra di wordpress tranne che all' admin if (!current_user_can('manage_options')) { add_filter('show_admin_bar', '__return_false'); } if (!current_user_can('edit_posts')) { add_filter('show_admin_bar', '__return_false'); }