- 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:[PHP]
//creo il post type per l'area riservataadd_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');
}[/PHP]
-
Sarebbe di aiuto sapere che tipo di errore ti da!
-
Grazie... semmai riprovo ad inserirlo...ma mi sembra che apparisse il codice del file (il codice sopra) sulla testata della pagina...come se non fosse inserito bene in una pagina php ...ma semmai riprovo e posto l'errore
-
Se leggi il codice, il problema puo soltanto essere 1.
prima di inserire il codice ricordati di aprire il tag <?php
-
In effetti avevo provato mettendo tag di apertura ma anche tag di chiusura ma niente....ma ho notato ora che il functions.php genitore non ha tag di chiusura........quindi ora provo con solo apertura
grazie
-
ora ho aggiunto al file
[PHP]<?php
add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style' );function enqueue_parent_theme_style() { wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );}[/PHP]senza tag di chiusura e non appare nessun errore
grazie 1000
ciao
-
Riprendo il Topic in quanto riprendendo ultimamente in mano il sito mi sono accorto che l 'errore non lo dava semplicemente perché avevo nominato il file FUNCTION invece di FUNCTIONS.
L'errore che mi da ora che ho corretto il nome del file è
[PHP]Parse error: syntax error, unexpected '}' in /web/htdocs/sito.com/home/wordpress/wp-content/themes/twentythirteen-child/functions.php on line 125[/PHP]
sicuramente un errore di sintassi ma dove? alla riga 125 non c'è niente subito dopo c'e' [PHP]$args = array(
[/PHP]grazieriporto il codice:
[PHP]
<?php//creo il post type per l'area riservata
add_action('init', 'crea_contenuti');
if(!function_exists('crea_contenuti')) {
function crea_contenuti() {
return true;
}
}$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');
}[/PHP]
-
C'è una graffa '}' di chiusura di troppo
-
Ciao e grazie!!
Ho provato eliminando la graffa di chiusuraora è tutto Ok sembra
grazie 1000