Je souhaite créer une table uniquement si mon thème personnalisé est activé. J'ai essayé avec le crochet d'action after_switch_theme
mais il crée une table quel que soit mon thème personnalisé. Cela signifie que cela déclenche une action si j'active Twenty fifteen
ou tout autre thème.
add_action('after_switch_theme', ['\Recruitment\recruitment', 'create_table']);
Je veux créer une table uniquement si mon thème personnalisé est un thème actuel ou l'activation de ce thème.
Y a-t-il un crochet pour cela ou un autre moyen?
Ah je l'ai trouvé.
Vous pouvez utiliser le crochet d'action after_setup_theme
. Donc ce sera comme
add_action('after_setup_theme', ['\Recruitment\recruitment', 'create_table']);
$theme = wp_get_theme();
if ( $theme->name == 'My THEME NAME' ) {
global $wpdb;
global $charset_collate;
$sql = "CREATE TABLE IF NOT EXISTS ... $charset_collate;";
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
dbDelta( $sql );
add_option( 'ab_db_version', self::$db_version );
}
// in another file
add_action('after_switch_theme', ['\Recruitment\recruitment', 'create_table']);