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 .= '<a href="' . esc_url($idioma['url']) . '"' . $classe . '>' . $codi . '</a> ';
        }
    }
    $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 );
				
			
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.