Code Snippets utile pentru WordPress

Andrei Bădescu

Updated on:

TUTS
2 minutes

Plugin-urile WordPress sunt cea mai populara modalitate de a extinde functionalitatea CMS-ului WordPress. Acestea vă permit să schimbe modul în care funcționează WordPress.

Plugin-urile sunt pur și simplu funcții scrise în HTML și PHP, care sunt conectate la site-ul tau. Un alt mod de a schimba functionalitatea WordPress este de a utiliza un fragment de cod.

Ce sunt fragmentele de cod (code snippets)?

Dupa cum spune si numele, sunt mici bucati de cod care se adauga manual la site-ul vostru. Aceste snippet-uri de obicei se insereaza in diverse fisere  ale temei folosite.

  • Snippet-urile care adauga functionalitate temei de obicei sunt inserate in functions.php al temei curente
  • Snippet-urile care schimbă funcționalitatea sunt uneori adăugate in diverse fisiere ale temei curente (single.php, page.php, search.php etc.)

Pentru cei care nu se simt confortabil in a adauga cod cu manuta lor, pot oricand downloada plugin-ul “Code Snippets” din repository-ul WordPress care are rolul de a adauga snippet-urile dorite in functions.php.

1.  Clasifica comentariile cu adresa URL foarte lungi automat ca spam

[php]function remove_comment_fields($fields) {
unset($fields[‘url’]);
return $fields;
}
add_filter(‘comment_form_default_fields’,’remove_comment_fields’);[/php]

2.  Anuleaza campul URL din formularul de commenturi

[php]function remove_comment_fields($fields) {
unset($fields[‘url’]);
return $fields;
}
add_filter(‘comment_form_default_fields’,’remove_comment_fields’);[/php]

3.  Lungime minima de comentarii

[php]add_filter( ‘preprocess_comment’, ‘minimal_comment_length’ );
function minimal_comment_length( $commentdata ) {
$minimalCommentLength = 20;
if ( strlen( trim( $commentdata[‘comment_content’] ) ) < $minimalCommentLength ){
wp_die( ‘All comments must be at least ‘ . $minimalCommentLength . ‘ characters long.’ );
}
return $commentdata;
}[/php]

4.  Anuleaza optiunea de auto-link din comment-uri

[php]remove_filter(‘comment_text’, ‘make_clickable’, 9);[/php]

5.  Link-uieste automat userii de Twitter in WordPress.

[php]/* Automatically link Twitter usernames in WordPress*/

function twtreplace($content) {
$twtreplace = preg_replace(‘/([^a-zA-Z0-9-_&])@([0-9a-zA-Z_]+)/’,"$1<a href="http://twitter.com/$2" target="_blank" rel="nofollow">@$2</a>",$content);
return $twtreplace;
}
add_filter(‘the_content’, ‘twtreplace’);
add_filter(‘comment_text’, ‘twtreplace’);[/php]

6.  Exclude paginile site-ului din rezultatele de cautare

[php]function filter_search($query) {
if ($query->is_search) {
$query->set(‘post_type’, ‘page’);
}
return $query;
}
add_filter(‘pre_get_posts’, ‘filter_search’);[/php]

7.  Redireactioneaza direct catre post atunci cand rezultatul unui search este un singur articol

[php]add_action(‘template_redirect’, ‘redirect_single_post’);
function redirect_single_post() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) {
wp_redirect( get_permalink( $wp_query->posts[‘0’]->ID ) );
exit;
}
}
}[/php]

8.  Redirectioneaza un user catre un anume landing page dupa ce s-a inregistrat pe site

[php]function wps_registration_redirect(){
return home_url( ‘/finished/’ );
}
add_filter( ‘registration_redirect’, ‘wps_registration_redirect’ );[/php]

9.  Schimba Logo-ul de Login, link-ul URL si titlul

[php]function custom_login_logo() {
echo ‘<style type="text/css">h1 a { background: url(‘.get_bloginfo(‘template_directory’).’http://cdn.css-tricks.com/images/logo-login.gif) 50% 50% no-repeat !important; }</style>’;
}
add_action(‘login_head’, ‘custom_login_logo’);[/php] [php]function change_wp_login_url() {
return bloginfo(‘url’);
}
add_filter(‘login_headerurl’, ‘change_wp_login_url’);[/php] [php]function change_wp_login_title() {
return get_option(‘blogname’);
}
add_filter(‘login_headertitle’, ‘change_wp_login_title’);[/php]

10.  Modifica Author Slug URL

[php]add_action(‘init’, ‘cng_author_base’);
function cng_author_base() {
global $wp_rewrite;
$author_slug = ‘profile’; // change slug name
$wp_rewrite->author_base = $author_slug;
}[/php]

11.  Adauga cod php in widget-urile text

[php]add_filter(‘widget_text’, ‘php_text’, 99);

function php_text($text) {
if (strpos($text, ‘<’ . ‘?’) !== false) {
ob_start();
eval(‘?’ . ‘>’ . $text);
$text = ob_get_contents();
ob_end_clean();
}
return $text;
}[/php]

12.  Schimba numarul default de revizii ale unui post

[php]define( ‘WP_POST_REVISIONS’, 2 );[/php]

13.  Goleste WordPress Trash

[php]define( ‘EMPTY_TRASH_DAYS’, 10 ); // 10 days[/php]

14.  Modifica Automatic Updates

[php] # Enable Core Updates for Minor Releases (default):
define( ‘WP_AUTO_UPDATE_CORE’, ‘minor’ );[/php] [php] # Disable All Core Updates:
define( ‘WP_AUTO_UPDATE_CORE’, false );[/php] [php] # Enable All Core Updates, Including Minor and Major:
define( ‘WP_AUTO_UPDATE_CORE’, true );[/php]

15.  Automatizeaza Optimizarea Bazei de Date

[php]define( ‘WP_ALLOW_REPAIR’, true );[/php]

Nota: Toate aceste snippet-uri se adauga in functions.php al temei curente.

1 thought on “Code Snippets utile pentru WordPress”

Leave a Comment