Come mostro l’elenco dei nomi delle categorie di un post di WordPress senza link separate per virgola?

Per fare questo tipo di output utilizziamo le due funzioni native di wordpress senza doverne creare una nuova. La prima funzione è quella che restituisce la lista delle categorie associate ad un post che si chiama get_the_category_list(  ) la seconda è la funzione che elimina tutti i tag html inclusi script js e stili css che si chiama wp_strip_all_tags( ). La formula è la seguente e va inserita nei template file single.php o single-{post_type}.php.

<?php 
    echo wp_strip_all_tags(get_the_category_list(', ')); 
    // risultato esmpio di output: News, Coorporate, Press release
    // al posto della virgola 
?>

Come stampo il nome della prima categoria di un post di WordPress senza il link?

/*
 *
 * studio42_get_the_category_name()
 * funzione che stampa il nome di una categoria di un post
 * @author toni@schiavoneguga.com
 * 
 * questa funzione va inserita nel file functions.php del tema figlio oppure del tema padre
 * funziona solo con le categre native di wordpress
 */

function studio42_get_the_category_name()
{
    $category = get_the_category();
    return $category[0]->cat_name;
}

// va inserita nel file single.php o single-post.php
echo studio42_get_the_category_name();

Come verificare se una data è un giorno del fine settimana con il PHP?

Con questa semplice funzione PHP è possibile controllare se una data è un giorno del fine settimana oppure no. La funzione accetta la data nel seguente formato numerico: anno / mese / giorno es 2025/06/07 che sarà un sabato.

/**
 * 
 * controlla se il giorno è di un weekend
 * @return bolean
 * @author toni@schiavoneguga.com
 * 
 */

function is_weekend($date)
{
    return (date('N', strtotime($date)) >= 6) ? true : false;
}

if(is_weekend('2025/06/07')){
    echo 'si è un giorno del fine settimana';
}else{
    echo 'non è un giorno del fine settimana';
}

// risultato si è un giorno del fine settimana


Come rimuovere i duplicati in un array multi-dimensionale in PHP?

E’ possibile farlo usando la funzione nativa PHP array_unique() con l’aggiunta del flag SORT_REGULAR. Vedi esempio sotto.

// array di test con valori duplicati
$brands = array(
    array(
        'brand_id' => 10,
    ),
    array(
        'brand_id' => 10,
    ),
    array(
        'brand_id' => 32,
    ),
    array(
        'brand_id' => 32,
    ),
    array(
        'brand_id' => 43,
    ),
    array(
        'brand_id' => 43,
    ),
);

// Processiamo l'array $brands con la funzione array_unique con il flag SORT_REGULAR e salviamola in una variabile $unique
$unique = array_unique($brands, SORT_REGULAR);

// Stampiamo il risultato della variabile $unique
var_dump($unique);

//Risultato array pulito dai duplicati
array(3) {
  [0]=>
  array(1) {
    ["brand_id"]=>
    int(10)
  }
  [2]=>
  array(1) {
    ["brand_id"]=>
    int(32)
  }
  [4]=>
  array(1) {
    ["brand_id"]=>
    int(43)
  }
}

Come verificare che un url è di youtube, vimeo o facebook con php?

Con questa funzione è possibile verificare se una parola chiave ($keyword) è presente in un URL ($url). La funzione restituisce un valore boleano true / false. True quando viene trovata la parola chiave nel URL, False quando non viene trovata.

/**
 * controlla se un URL ha una parola chiave
 *
 * @param {string} url
 * @param {string} keyword es. youtube
 * @return bol
 * @author Toni Guga <toni@schiavoneguga.com>
 */

function studio42_does_url_has_keyword($url='', $keyword='')
{
    if (strpos($url, $keyword) > 0) {
        return true;
    } else {
        return false;
    }
}


// esempio di utilizzo dichiarando le variabili prima

$url = 'https://www.youtube.com/watch?v=81qVzKjv4wI';
$keyword = 'youtube';

if(studio42_does_url_has_keyword($url, $keywork)){
    echo 'si è youtube';
}else{
    echo 'non è youtube';
} 

// risultato si è youtube



// esempio di utilizzo senza dichiarare le variabili prima

if(studio42_does_url_has_keyword('https://www.youtube.com/watch?v=81qVzKjv4wI', 'youtube')){
    echo 'si è youtube';
}else{
    echo 'non è youtube';
} 

// risultato si è youtube

Come si aggiungono le categorie di un post nelle classi del body su wordpress?

Con questa funzione php è possibile aggiungere in automatico nelle classi del body la lista dei nomi di categoria associate ad un post. Incolla questo codice nel file functions.php nel tema child o tema padre.


  function studio42_add_post_category_names_to_body_class($classes) {
    if (is_single() ) {
      global $post;
      $categories = get_the_category($post->ID);
      foreach( $categories as $category) {
        $classes[] = 'cat-' . $category->category_nicename;
      }
    }
    return $classes;
  }
  add_filter('body_class','studio42_add_post_category_names_to_body_class');

How to remove duplicate lines in Visual Studio Code?

If the order of lines is not important

Sort lines alphabetically, if they aren’t already, and perform these steps:
(based on this related question: How do I find and remove duplicate lines from a file using Regular Expressions?)

  1. Control+F
  2. Toggle “Replace mode”
  3. Toggle “Use Regular Expression” (the icon with the .* symbol)
  4. In the search field, type ^(.*)(\n\1)+$
  5. In the “replace with” field, type $1
  6. Click the Replace All button (“Replace All”).

If the order of lines is important so you can’t sort

In this case, either resort to a solution outside VS Code (see here), or – if your document is not very large and you don’t mind spamming the Replace All button – follow the previous steps, but in steps 4 and 5, enter these:
(based on Remove specific duplicate lines without sorting)

Caution: Blocks for files with too many lines (1000+); may cause VS Code to crash; may introduce blank lines in some cases.

  • search: ((^[^\S$]*?(?=\S)(?:.*)+$)[\S\s]*?)^\2$(?:\n)?
  • replace with: $1

and then click the “Replace All” button as many times as there are duplicate occurrences.

You’ll know it’s enough when the line count stops decreasing when you click the button. Navigate to the last line of the document to keep an eye on that.

From

https://stackoverflow.com/questions/37992493/how-to-remove-duplicate-lines-in-visual-studio-code

Funzione php per prendere il frame in jpg di un video pubblico su vimeo

function pickup_vimeo_thumbnail_url($vimeo_video_url){
    if(!$vimeo_video_url) return false;
    $json_data = json_decode(file_get_contents('http://vimeo.com/api/oembed.json?url=' . $vimeo_video_url));
    if(!$json_data) return false;
    return $json_data->thumbnail_url;
}

Stampare il prezzo formattato prendendolo dal custom field di woocommerce


// reperisce il prezzo non formattato dal custom field assegnandola alla variabile $prezzo
$prezzo = get_post_meta( get_the_ID(), '_regular_price', true); 

// Stampa il prezzo formattato
echo wc_price( $prezzo ); 

Come reperire i dati di un prodotto utilizzando le funzioni standard di Woocommerce?

// Get $product object from product ID
 
$product = wc_get_product( $product_id );

// Get Product ID
 
$product->get_id(); (fixes the error: "Notice: id was called incorrectly. Product properties should not be accessed directly")
 
// Get Product General Info
 
$product->get_type();
$product->get_name();
$product->get_slug();
$product->get_date_created();
$product->get_date_modified();
$product->get_status();
$product->get_featured();
$product->get_catalog_visibility();
$product->get_description();
$product->get_short_description();
$product->get_sku();
$product->get_menu_order();
$product->get_virtual();
get_permalink( $product->get_id() );
 
// Get Product Prices
 
$product->get_price();
$product->get_regular_price();
$product->get_sale_price();
$product->get_date_on_sale_from();
$product->get_date_on_sale_to();
$product->get_total_sales();
 
// Get Product Tax, Shipping & Stock
 
$product->get_tax_status();
$product->get_tax_class();
$product->get_manage_stock();
$product->get_stock_quantity();
$product->get_stock_status();
$product->get_backorders();
$product->get_sold_individually();
$product->get_purchase_note();
$product->get_shipping_class_id();
 
// Get Product Dimensions
 
$product->get_weight();
$product->get_length();
$product->get_width();
$product->get_height();
$product->get_dimensions();
 
// Get Linked Products
 
$product->get_upsell_ids();
$product->get_cross_sell_ids();
$product->get_parent_id();
 
// Get Product Variations
 
$product->get_attributes();
$product->get_default_attributes();
 
// Get Product Taxonomies
 
$product->get_categories();
$product->get_category_ids();
$product->get_tag_ids();
 
// Get Product Downloads
 
$product->get_downloads();
$product->get_download_expiry();
$product->get_downloadable();
$product->get_download_limit();
 
// Get Product Images
 
$product->get_image_id();
$product->get_image();
$product->get_gallery_image_ids();
 
// Get Product Reviews
 
$product->get_reviews_allowed();
$product->get_rating_counts();
$product->get_average_rating();
$product->get_review_count();