Come disabilitare gli articoli e utilizzare solo le pagine
Sono nuovo nello sviluppo di temi WordPress e vorrei configurare un sito web che contenga solo contenuti statici. Avrebbe quindi senso disabilitare gli articoli e utilizzare solo pagine statiche? Se sì, esiste un modo semplice per farlo?

Puoi semplicemente nascondere il menu degli articoli aggiungendo il seguente codice al tuo file functions.php:
function remove_posts_menu() {
remove_menu_page('edit.php');
}
add_action('admin_menu', 'remove_posts_menu');
WordPress non permette la disabilitazione del vero tipo di contenuto post con la funzione unregister_post_type()
. La condizione è qui: https://github.com/WordPress/wordpress-develop/blob/6.0/src/wp-includes/post.php#L1754
// Non permettere la deregistrazione dei tipi di contenuto interni.
if ( $post_type_object->_builtin ) {
return new WP_Error( 'invalid_post_type', __( 'Non è permesso deregistrare un tipo di contenuto predefinito' ) );
}

Questo metodo interromperà il caricatore della Galleria Media poiché anch'esso gestisce "edit.php".

@ben.kaminski Sembra che questo non sia più il caso, per chiunque arrivi qui diversi anni dopo :)

Questa soluzione è puramente estetica e non influisce sul database, quindi non penso sia una buona soluzione

@MarcoPanichi Non c'è ALCUN modo per farlo nel database. Per favore, invece, mostra un modo e aggiungi la tua risposta piuttosto che colpire i punti reputazione di altre persone senza motivo. Apprezzerei se ritirassi il voto negativo poiché il tuo ragionamento non è in linea con come funziona in WordPress. Questa risposta ha aiutato le persone per 11 anni ormai.

@BrianFegter la tua risposta non risolve il problema perché non stai disabilitando i post. Le persone hanno il diritto di mettere un voto negativo su una risposta se motivato. È un voto negativo, non una condanna a morte. Non mi piace particolarmente il fatto che tu non stia spiegando la situazione; la tua risposta potrebbe essere confusa: "Puoi semplicemente nascondere" != disabilitare i post. Penso che potrei rimuovere il mio voto negativo se spieghi meglio quell'aspetto. Potrebbe essere un buon compromesso?

@MarcoPanichi Non c'è ALCUN modo per disabilitare i post dal database. L'unico modo in WordPress è nascondere il menu. Per favore, dai un'occhiata a questo link: https://developer.wordpress.org/reference/functions/unregister_post_type/ Noterai alla riga 1753 che WordPress non ti permetterà di disabilitare i post.

Ti consiglio di lasciare il post solo per l'utente admin... letteralmente "admin", e creare un altro utente per gestire la pagina, così nel caso tu ne abbia bisogno in futuro per la scalabilità potrai ripristinarlo con il tuo account admin.
Aggiungi semplicemente il seguente codice al tuo functions.php
function remove_menus () {
global $menu;
$user = wp_get_current_user();
if ($user->ID!=1) { // Non è l'amministratore,
$restricted = array(__(__('Articoli'));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
}
add_action('admin_menu', 'remove_menus');

Hai mai pensato di rinominare semplicemente "Articoli" in qualcosa come "News"? In questo modo l'utente (te stesso o un cliente) potrebbe comunque pubblicare notizie, comunicati stampa, articoli, ecc. per evitare contenuti stagnanti sul sito.
È piuttosto semplice da fare. Basta inserire questo nel tuo file functions.php.
function change_post_menu_label() {
global $menu;
global $submenu;
$menu[5][0] = 'News';
$submenu['edit.php'][5][0] = 'News';
$submenu['edit.php'][10][0] = 'Aggiungi Articolo';
$submenu['edit.php'][15][0] = 'Categorie News'; // Cambia nome per le categorie
$submenu['edit.php'][16][0] = 'Tag News'; // Cambia nome per i tag
}
function change_post_object_label() {
global $wp_post_types;
$labels = &$wp_post_types['post']->labels;
$labels->name = 'News';
$labels->singular_name = 'News';
$labels->add_new = 'Aggiungi Articolo';
$labels->add_new_item = 'Aggiungi Articolo';
$labels->edit_item = 'Modifica Articolo';
$labels->new_item = 'Articolo News';
$labels->view_item = 'Visualizza Articolo';
$labels->search_items = 'Cerca News';
$labels->not_found = 'Nessun Articolo trovato';
$labels->not_found_in_trash = 'Nessun Articolo trovato nel Cestino';
}
add_action( 'init', 'change_post_object_label' );
add_action( 'admin_menu', 'change_post_menu_label' );
E ora puoi avere news da cui tutti possono trarre beneficio. Spero che questo sia d'aiuto!

ops... grazie ungestaltbar.. le azioni in un certo senso fanno girare le ruote

Non credo che "aggiungere un blog a un sito web perché la funzionalità esiste" sia una buona risposta a questa domanda.

I post / le pagine sono essenzialmente la stessa cosa - differiscono solo per definizione d'uso (e altre piccole cose). Più o meno come "blog" e "sito web". Una pagina è in realtà un "tipo" di post (per quanto riguarda WordPress).
Ci sono moltissimi modi per "disabilitare" l'uno o l'altro. Puoi disabilitarli tramite tassonomie, nascondendo i menu, non utilizzandone uno o l'altro nei file del tema...
Ma per sapere qual è il modo migliore, puoi spiegare un po' meglio PERCHÉ hai bisogno di "disabilitarli"?
Suggerisco che prima di iniziare a "disabilitare" cose, installi WordPress e inizi a giocarci un po' - capirai molto meglio.

Avrebbe senso disabilitare gli articoli e utilizzare solo pagine statiche?
No. A meno che non desideri solo una piccola quantità di pagine.
Consiglierei di utilizzare gli Articoli in quanto sono più flessibili. Puoi disabilitare specifiche funzionalità per gli articoli che non vuoi utilizzare come commenti e feed RSS ecc., ma scoprirai che gli articoli sono migliori da usare se vuoi aggiungere contenuti con regolarità. Altrimenti, sì, puoi semplicemente utilizzare pagine statiche.
Scoprirai che aggiungere contenuti utili e rilevanti con regolarità aumenterà il traffico sul tuo sito e migliorerà la visibilità del tuo sito web su internet.
