Modificare massivamente tutti gli articoli
-
Buongiorno
Sono nuovo di wordpress e sto effettuando i primi passi.
Mi hanno chiesto, a titolo gratuito, di gestire un sito web e, a parte lo studio delle varie caratteristiche della dashboard che
sono risultate abbastanza scorrevoli, mi si e’ presentato da subito un problema che descrivo brevemente.
Il sito in questione ospita un grande numero di articoli ai quali manca la formattazione relativa alla giustificazione del testo.
Chiaramente la modifica articolo per articolo risulta onerosa dal punto di vista temporale, alche’ avevo pensato a delle soluzioni
che elenco ma che, nessuna delle quali, mi soddisfa, per i motivi che mi accingo a spiegare.
Supponendo di essere sulla home della dashboard:
1) Sotto “Aspetto” -> “Temi” -> “Personalizza” -> “Opzioni avanzate” -> “CSS Aggiuntivo” ho inserito la seguente classe di stile:
.entry.themeform.fittexted_for_entry > div > p {
text-align: justify;
}
Qua si puo’ anche disquisire sulla scelta del selettore CSS. Anche se non e’ quello esattamente corretto, alla fine lo si trova, ma il punto non e’ questo.
Questa soluzione da il vantaggio, con un impatto minimo, di visualizzare in runtime, a livello di front-end, la modifica desiderata. Quello che non mi piace e’ la difformita che esiste tra il contentuto del front-end e quello del back-end in cui, il testo in realta, non e’ giustificato.2) Modifica della tabella wp_posts del db MYSQL sottostante. Utilizzando una REPLACE, con una update (opportunamente parametrizzata) e’ possibile effettuare la modifica, giustificando in un passaggio solo, tutti i posts.
Ho gia’ visto, a livello di tabella, cosa inserisce wordpress nel campo “post_content”, quando si esegue la giustificazione di un testo. Basterebbe, immagino, eseguire qualcosa del genere:
REPLACE(wp_posts.post_content, ‘<!– wp:paragraph –>’, ‘<!– wp:paragraph {“align”:”justify”} –>’)
e poi:
REPLACE(wp_posts.post_content, ‘<p>’, ‘<p class=”has-text-align-justify”>’)
Anche questa soluzione provocherebbe una modifica immediata ma, non avendo una conoscenza approfondita della struttura relazionale del db sottostante, temo di fare qualche danno.Qualcuno mi puo’ aiutare? Esiste qualche area nella dashboard o qualche plugin che permette una modifica massiva del genere?
Grazie anticipatamente. -
Qualcuno potrebbe confermarmi la correttezza della seguente query?
UPDATE wp_posts SET post_content = REPLACE(post_content, '<!-- wp:paragraph -->n<p>', '<!-- wp:paragraph {"align":"justify"} -->n<p class="has-text-align-justify">') WHERE ID IN (SELECT TB.post_id FROM ( SELECT wp_posts.ID as post_id, wp_posts.post_author as post_author, wp_posts.post_date as post_date, wp_posts.post_title as post_title, wp_posts.post_content as post_content, wp_terms.name as category_name, wp_posts.post_status, wp_posts.post_type FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) LEFT JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id) LEFT JOIN wp_terms ON (wp_terms.term_id = wp_term_taxonomy.term_id) WHERE wp_term_taxonomy.taxonomy = 'category' AND wp_terms.name = 'CATEGORIA_DI_ARTICOLI_SU_CUI_EFFETTUARE_LA_UPDATE' ORDER BY wp_posts.post_title ) AS TB);Gli altri UPDATE wp_posts SET post_content = REPLACE(post_content, ‘<!– wp:paragraph –>n<p>’, ‘<!– wp:paragraph {“align”:”justify”} –>n<p class=”has-text-align-justify”>’)
WHERE ID IN (SELECT TB.post_id FROM (
SELECT wp_posts.ID as post_id,
wp_posts.post_author as post_author,
wp_posts.post_date as post_date,
wp_posts.post_title as post_title,
wp_posts.post_content as post_content,
wp_terms.name as category_name,
wp_posts.post_status,
wp_posts.post_type
FROM wp_posts
LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
LEFT JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
LEFT JOIN wp_terms ON (wp_terms.term_id = wp_term_taxonomy.term_id)
WHERE wp_term_taxonomy.taxonomy = ‘category’ AND
wp_terms.name = ‘APOSTOLATO’
ORDER BY wp_posts.post_title
) AS TB);I campi di selezione oltre l’id di wp_posts mi sono serviti a capire l’insieme di articoli da updatare.
Potreste darmi conferma?? -
Mi scuso per il precedente post, ma ho fatto un po di confusione. Vi prego di non considerare la parte di post tra la query e l’ultima frase.
-
Ciao!
Non ho trovato nessun sito ospitato su WordPress.com sul tuo account, quindi credo tu ti riferisca a un sito che utilizza la versione auto-ospitata di WordPress o WordPress.org. Questi forum sono esclusivamente per siti ospitati su WordPress.com.
Per aiuto con siti che utilizzano WordPress.org puoi rivolgerti qui:
https://wordpress.org/support/
Per chiarire qualsiasi confusione, WordPress.com e WordPress.org sono due entità diverse, ma la differenza essenziale è che non abbiamo accesso a tutti i siti WordPress, solo quelli ospitati sui nostri server WordPress.com.
Maggiori dettagli sulle differenze tra WordPress.com e WordPress.org sono disponibili nel seguente link:
Buon weekend!
- L'argomento ‘Modificare massivamente tutti gli articoli’ è chiuso a nuove risposte.