WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

it:Riferimento funzioni/get shortcode regex

Descrizione

Restituisce l'espressione regolare usata per cercare gli shortcode nei post.

Questa funzione combina tutti gli shortcode registrati in una singola espressione regolare.

Utilizzo

<?php
function your_prefix_detect_shortcode()
{
    global $post;
    $pattern = get_shortcode_regex();

    if (   preg_match_all( '/'. $pattern .'/s', $post->post_content, $matches )
        && array_key_exists( 2, $matches )
        && in_array( 'your-shortcode', $matches[2] ) )
    {
        // lo shortcode viene usato
    }
}
add_action( 'wp', 'your_prefix_detect_shortcode' );
?>

Può essere usata solo quando $post è disponibile, ovviamente. 'wp' è la prima azione che è possibile agganciare per averne accesso.

Nota: L'esempio che appariva precedentemente su questa pagina usava preg_match() invece di preg_match_all(), per cui rilevava solo il primo shortcode usato sulla pagina. Bisogna aggiornare ogni codice che fa uso di quell'esempio con l'esempio corrente al fine di correggere quell'errore.

Il codice seguente è un aggiustamento del primo esempio, ma che è anche in grado di cercare in tutti i post sulla pagina principale.

function your_prefix_detect_shortcode()
{

    global $wp_query;	
    $posts = $wp_query->posts;
    $pattern = get_shortcode_regex();
    
    
    foreach ($posts as $post){
		if (   preg_match_all( '/'. $pattern .'/s', $post->post_content, $matches )
			&& array_key_exists( 2, $matches )
			&& in_array( 'videoannotation', $matches[2] ) )
		{
			// accoda css e js
			break;	
		}    
    }
}
add_action( 'wp', 'your_prefix_detect_shortcode' );

Parametri

Nessuno

Valori restituiti

(string) 
L'espressione regolare che ricerca gli shortcode.

Log delle modifiche

Da: 2.5

File sorgente

get_shortcode_regex() si trova wp-includes/shortcodes.php.

Correlati

API degli Shortcode

Si veda anche l'indice di Riferimento funzioni e l'indice di Tag dei template.