Cum identifici automat articolele in care ai folosit shortcode

Shortcode-urile sunt grozave insa uneori pot deveni o problema. Un dezavantaj al folosirii unui plugin sau a unei teme care se bazeaza pe shortcode-uri este ca in momentul in care dezactivezi plugin-ul sau schimbi tema, toate acele shortcode-uri vor ramane in urma si vor arata ciudat pentru cititori. In acest articol va vom invata cum sa identificati toate posturile in care aveti unul sau mai multe shortcode-uri pentru ca mai apoi sa le stergeti pe cele inutile.

Sunt shortcode-urile rele?

Nu, categoric nu. Shortcode-urile nu sunt rele insa folosirea lor in exces poate fi problematica. Sunt o multime de plugin-uri si teme ce ofera posibilitatea de a crea elemente ca butoane, coloane si tabele cu ajutorul shortcode-urilor. Alte plugin-uri care afiseaza reclame folosesc de asemenea shortcode-uri. Acum, daca un utilizator a folosit aceste shortcode-uri in prea multe articole, devine greu sa le inlature pe toate.

Tocmai din acest motiv, recomandam sa nu va bazati pe teme si plugin-uri care necesita inserarea de shortcode-uri in prea multe posturi si pagini. Pentru cei care nu inteleg inca, un shortcode inactiv va arata in genul:

[ceva+altceva-shortcode]

Pentru a le inlatura, trebuie mai intai sa le gasesti.

Cum gasesti toate paginile si posturile care contin shortcode-uri

Tot ce trebuie sa faceti este sa copiati acest cod in fisierul functions.php al temei voastre:

function wpb_find_shortcode($atts, $content=null) { 
ob_start();
extract( shortcode_atts( array(
		'find' => '',
	), $atts ) );

$string = $atts['find'];

$args = array(
	's' => $string,
	);

$the_query = new WP_Query( $args );

if ( $the_query->have_posts() ) {
        echo '<ul>';
	while ( $the_query->have_posts() ) {
	$the_query->the_post(); ?>
	<li><a href="<?php  the_permalink() ?>"><?php the_title(); ?></a></li>
	<?php
	}
        echo '</ul>';
} else {
        echo "Sorry no posts found"; 
}

wp_reset_postdata();
return ob_get_clean();
}
add_shortcode('shortcodefinder', 'wpb_find_shortcode');

In acest cod, exista un shortcode (cat de ironic poate fi?!). Acest shortcode ruleaza o functie pentru a executa o interogare. In aceasta interogare este folosita o cautare speciala pentru a gasi si a lista toate posturile si paginile care au un anumit shortcode.

Pentru a te folosi de acest cod, trebuie sa creezi un post in care sa introduci acest shortcode:

[shortcodefinder find=’codulmeu’]

Inlocuieste “codulmeu” cu shortcode-ul pe care il cauti. Salveaza postul ca draft si da click pe preview. Vei putea vedea o lista cu toate articolele care contin acel shortcode. Acum, nu iti mai ramane decat sa iei fiecare articol in parte si sa stergi acel shortcode.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *