Raccolgo in questo articolo un pò di trucchi su WordPress, nell’arco degli anni mi sono tornati utili e col tempo li ho perfezionati.
Vediamone qualcuno subito.
Come disabilitare plugin di WordPress via database MySQL
Qualche volta succede che abilitando un plugin WP si arrabi non poco e restituisca una pagina bianca quando si tenta di fare il login, ma come si ad eliminare o disattivare un plugin se non è possibile accedere alla dashboard ?
Eliminare la cartella dall’ftp non aiuta, è quindi necessario ricorrere ad agire direttamente sul db, quindi colleghiamo in PHPMyAdmin e accediamo al database incriminato, cliccando su “SQL” potremo inserire la query che lascio qui sotto e premere esegui.
1 |
SELECT * FROM wp_options WHERE option_name = 'active_plugins'; |
a questo punto ci verrà restiuita una riga, cliccando su “Modifica” troveremo un record, lungo tanti quanti sono i plugin che avete installato.
ora facendo ctrl + x sul contenuto e incollandolo in un file di testo sul pc, premiamo quindi “Esegui” per esequire la query.
A questo punto tutti i plugin installati su WordPress saranno disattivati, ora sta a vi abilitarne uno alla volta per capire quale genera la pagina bianca.
Per i più esperti 😛
Funziona solo con versione Worpdpress 2.9 o superiore.
Query per disabilitare tutti i plugin (okkio perchè in questo caso non c’è backup)
1 |
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins'; |
Query per attivare tutti i plugin
1 |
UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins'; |
Come conoscere l’ID di una pagina o un articolo di WordPress via PHP
get_the_ID fa parte delle API di WordPress, è una funzione che permette di effettuare un query e ricevere, per esempio, l’id di una pagina o di un post.
Per esempio
1 2 3 4 5 |
<?php $var1 = get_the_ID(); if ($var1 ==('455')) { include get_stylesheet_directory() . ('/script/inc/file_da_includere.php'); } ?> |
In questo caso mi serve includere un file php solo se la pagina ha id 455 , quindi creo una variabile ($var1) e gli assegno l’API di WP (get_the_ID), poi scrivo una condizione (if) per controllare se la pagina è la 455 ($var1 ==(‘455’)
Come conoscere l’ID di una categoria WordPress via PHP
Nello stesso modo, utilizzando sempre una funzione di WP, possiamo eseguire delle condizioni, per esempio solo se il post o la pagina visitata fanno parte di una determinata categoria.
Per fare ciò è necessario scrivere questa porzione di codice.
La funzione è get_cat_ID
1 2 3 4 5 6 7 |
<?php /* load google maps api and js to load single maps */ if ($catid ==('1')) : ?> <script src='https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false'></script> <script type="text/javascript" src="<?php (bloginfo('stylesheet_directory')) ?>/script/js/gmap_single.js"></script> <?php endif; ?> |
In questo caso invece richiamo le API di Google Maps solo se il post fa parte della categoria 1
Come mostrare un form di WordPress solo se l’utente è registrato e loggato
In questo caso ho utilizzato il plugin Ninja Forms, ma potete utilizzare un qualcunque altro plugin che abbia il codice PHP da inserire direttamente nel tema di WP.
Vediamo subito come fare
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php $page_send_file_to_community = get_the_ID(); if ( is_user_logged_in() && ($page_send_file_to_community ==('841')) ) { if( function_exists( 'ninja_forms_display_form' ) ){ ninja_forms_display_form( 13 ); } } else if (!is_user_logged_in() && ($page_send_file_to_community ==('841'))) { echo '<a href="./account/login">Accedi</a> o <a href="./account/registrati">Registrati</a> per inviare un file nella sezione Download Community'; } ?> |
Nel mio caso avevo bisogno di avere due condizioni (&&), ossia renderizzare il form solo nella pagina con id 841 e solo se l’utente era loggato.
Quindi come prima cosa creo una variabile e gli assegno la funzione get_the_ID , poi controllo se l’utente ha effettuato l’accesso (is_user_logged_in) successivamente eseguo le mie condizioni e se l’utente non è loggato (else) restituisco a video il link per accedere o registrarsi.
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.
Ciao Alessio! io avrei bisogno di modificare il query, oppure la funzione, che fa vedere gli articoli con certo tag in un ambiente WordPress ma non so dove andare a cercarla… potresti, o magari qualcuno che mi legga darmi alcun aiuto al proposito. GRZ.
Ciao Noris, leggi qui https://codex.wordpress.org/Template_Tags/get_posts
Ciao Alessio, io avrei una necessità particolare ossia dovrei permettere all’utente di abbonarsi a tutti i prodotti esistenti in piattaforma con un solo click. C’è un plug-in che anzichè per prodotto singolo, gestisce l’abbonamento a livello di carrello o in modo massivo? GRAZIE MILLE
Ciao Bomber,
probabilmente esiste ma non l’ho mai usato quindi non saprei dirti.
Però puoi creare un prodotto bundle così si abbanono a quello.
Grazi Alessio, articolo molto interessante complimenti!