Codi: funcionalitats (PHP/CSS/JS)
Elementor > Formularis: Elimina fitxers adjunts dels formularis enviats que es desen al servidor
/*Eliminem fitxers adjunts dels formularis d'elementor que
siguin més antics de x dies. En l'exemple 180 dies*/
add_action('elementor_cleanup_uploaded_files', function() {
$dir = WP_CONTENT_DIR . '/uploads/elementor/forms/';
if (!is_dir($dir)) {
return;
}
$files = glob($dir . '*');
foreach ($files as $file) {
if (is_file($file)) {
// Elimina fitxers de més de x dies
if (time() - filemtime($file) > (180 * DAY_IN_SECONDS)) {
unlink($file);
}
}
}
});
if (!wp_next_scheduled('elementor_cleanup_uploaded_files')) {
wp_schedule_event(time(), 'daily', 'elementor_cleanup_uploaded_files');
}
Si volem comprovar el funcionament sense esperar a que s’executi l’esdeveniment diari, podem cridar l’acció amb el següent codi:
//Executa la neteja de fitxers dels formularis enviats manualment
do_action('elementor_cleanup_uploaded_files');
WPML > Selector d’idiomes del web, només les dues primeres lletres
Aquest shortcode mostrarà els idiomes del web, però per a cada idioma sols mostra les 2 primeres lletres
PHP:
add_shortcode('idiomes_2lletres', function() {
$output = '';
$idiomes = apply_filters('wpml_active_languages', NULL, ['skip_missing' => 0]);
if (!empty($idiomes)) {
foreach ($idiomes as $idioma) {
$codi = strtoupper(substr($idioma['language_code'], 0, 2));
$classe = $idioma['active'] ? '' : '';
$output .= '' . $codi . ' ';
}
}
$output .= "";
return $output;
});
SCSS:
.front .language_selector{
a{
margin-right:20px;
font-weight:500;
color:#eee;
&.actiu{
color:var(--e-global-color-primary);
}
}
}
ACF > Amagar la metabox d’una taxonomia a l’edició d’un post
ACF permet desactivar la caixa metabox per a no mostrar taxonomies en editar un post. Però sols funciona en l’editor classic
Per a gutemberg es pot aplicar el següent codi i no es mostrarà la taxonomia en l’editor.
Amb acf podem afegir un camp de tipus «taxonomy» de manera que en l’edició dels altres camps ACF, sota el text del post, es podrà editar les taxonomies associades
add_filter( 'rest_prepare_taxonomy', function( $response, $taxonomy, $request ) {
$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
// Context is edit in the editor
if( $context === 'edit' && $taxonomy->name === 'event-category' ){
$data_response = $response->get_data();
$data_response['visibility']['show_ui'] = false;
$response->set_data( $data_response );
}
return $response;
}, 10, 3 );