17 Hacks-uri pentru fișiere WordPress Functions.php

Publicat: 2017-05-28

Din toate fișierele dvs. de bază WordPress, puține sunt la fel de versatile ca functions.php . Dacă știți cum să interacționați cu acesta, acest fișier vă va permite să adăugați tot felul de funcționalități pe site-ul dvs. cu doar câteva linii de cod.

În acest articol, vă vom spune tot ce trebuie să știți despre fișierul funcțiilor WordPress și cum să îl utilizați în avantajul dvs. Vom discuta ce face, de ce ar trebui să-l folosiți și când nu. În plus, vă vom prezenta 17 hackuri de fișiere utile pentru a extinde funcționalitatea site-ului dvs. fără a fi nevoie să instalați un plugin.

Să luăm acest spectacol pe drum!

Introducere în fișierul cu funcții WordPress

Fișierul functions.php este unul dintre fișierele de bază ale WordPress. Cu alte cuvinte, este unul care ajută la alimentarea întregii platforme și se află în spatele multor funcții de pe site-ul dvs.

Fișierul functions.php al unei teme copil.

De asemenea, puteți utiliza fișierul functions.php ca o modalitate improvizată de a implementa noi funcții pe site-ul dvs. web, cum ar fi adăugarea de widget-uri noi în tabloul de bord sau dimensiuni de imagine personalizate pentru instalare. Este alternativa perfectă la pluginurile WordPress pentru caracteristici simple sau temporare.

De asemenea, este demn de remarcat faptul că există un fișier „parent” functions.php care vă influențează întregul site, dar fiecare temă vine cu propria versiune copil (la fel ca fișierul dvs. style.css ). Acest lucru vă permite în mod eficient să implementați funcții numai pentru anumite teme, fără a vă afecta site-ul la nivel global.

17 Hacks de fișiere pentru fișierul dvs. WordPress Functions.php

După cum am menționat mai devreme, fiecare temă vine cu propriul său fișier functions.php . Dacă aveți de gând să faceți modificări ample la dvs., cel mai bun mod de acțiune este să configurați o temă pentru copii, astfel încât modificările dvs. să nu dispară în timpul actualizărilor. De asemenea, veți dori să faceți o copie de rezervă a site-ului înainte de a face modificări, doar în cazul în care lucrurile nu funcționează corect și trebuie să reveniți la modificări.

Continuând, va trebui să accesați fișierul funcții.php folosind un client FTP (File Transfer Protocol) - cum ar fi FileZilla - pentru a naviga la directorul wp-content / themes / . În interior, veți găsi un dosar pentru fiecare dintre temele dvs., toate ar trebui să aibă propriile fișiere functions.php în:

Fișierul Divi functions.php.

Doar faceți clic dreapta pe el și alegeți opțiunea care scrie Edit, care vă va deschide editorul de text implicit. Fără asta, să trecem la afaceri!

1. Adăugați un nou utilizator de administrator la WordPress

Există unele ocazii în care ați putea fi blocat din contul dvs. de administrator și nu vă puteți schimba parola sau accesa site-ul. Cu această modificare, veți avea un mod suplimentar de a recâștiga accesul prin FTP.

Ca și în cazul tuturor acestor hacks și fragmente, pur și simplu copiați următorul cod, lipiți-l la sfârșitul fișierului functions.php al temei dvs. și salvați modificările.

function wpb_admin_account(){
$user = 'username';
$pass = 'password';
$email = '[email protected]';
if ( !username_exists( $user )  && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');

Va trebui să înlocuiți valorile în care scrie numele de utilizator, parola și e-mailul cu propriile dvs. și sunteți gata!

2. Afișați numărul total de utilizatori înregistrați

Dacă ați dorit vreodată să vă lăudați în lume cu câți utilizatori are site-ul dvs., această modificare vă permite să adăugați un număr simplu la front-end. Acest hack are, de asemenea, utilizări dincolo de drepturile de laudă. De exemplu, oamenii ar putea fi mai dispuși să aibă încredere în site-ul dvs. dacă știu că are o bază puternică de utilizatori. Iată fragmentul:

function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
add_shortcode('user_count', 'wpb_user_count');

Acest lucru este puțin avansat, deoarece am înregistrat de fapt codul personalizat [user_count] pentru a afișa numărul total de utilizatori înregistrați pe site-ul dvs. Deși acesta poate fi un subiect complex, implementarea noastră este simplă!

3. Eliminați „Panoul de întâmpinare” al tabloului de bord

Panoul dvs. de întâmpinare este secțiunea tabloului de bord care apare imediat ce vă conectați la WordPress și, de obicei, conține câteva sfaturi și liste de verificare pentru a începe. Cu acest fragment de cod, îl veți putea elimina definitiv:

remove_action('welcome_panel', 'wp_welcome_panel');

Sigur, panoul de întâmpinare nu este deloc invaziv, dar se poate îmbătrâni dacă folosești platforma de ceva vreme și nu mai ai nevoie de sfaturi. În plus, întrucât este nevoie doar de o linie de cod, nu există literalmente nici un dezavantaj în acest hack.

4. Ascundeți-vă numărul de versiune WordPress

După cum probabil știți, în funcție de tema pe care o utilizați, WordPress tinde să afișeze numărul versiunii sale în subsolul site-ului dvs. Este un detaliu minuscul pe care îl puteți elimina cu ușurință cu acest cod:

function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');

Dacă rulați o versiune veche de WordPress (ceea ce, desigur, nu ar trebui să fiți), această modificare poate fi utilă pentru a vă face o țintă mai puțin tentantă.

5. Modificați subsolul paginii de bord

Tabloul dvs. de bord WordPress include probabil un pic de text la subsol, menționând adesea un fel de credit (de obicei WordPress în sine). Ai ceva Este posibil să fi devenit orb, dar acest hack face oferta pe care o bună oportunitate de a personaliza sau a marca site - ul cu un hack simplu. Să verificăm codul corespunzător:

function remove_footer_admin () {
echo 'Hello world!';
}
add_filter('admin_footer_text', 'remove_footer_admin');

Pentru acest hack, ar trebui să înlocuiți lumea Hello! trimiteți text cu al dvs., inclusiv orice linkuri pe care doriți să le includeți.

6. Adăugați un widget de text simplu la tabloul de bord

Dacă ați decis să vă lăsați spațiu de pe tabloul de bord, eliminând widgetul de bun venit, vă recomandăm să îl înlocuiți cu unul propriu. Folosind acest cod, veți putea configura un widget simplu de text:

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_widget', 'More Information', 'custom_dashboard_information');
}
function custom_dashboard_information() {
echo 'If you need help making changes to your site, you can always contact me via email at...';
}

Acest fragment se va adăuga un widget Mai multe informații chemat la tabloul de bord, inclusiv textul în cadrul funcției custom_dashboard_information. Pentru acest exemplu, am ales să creăm un fel de widget de contact, pe care îl puteți utiliza pentru a marca eticheta albă a site-urilor web ale clienților și să le reamintim să rămână în contact, dacă este necesar.

7. Adăugați dimensiuni de imagine personalizate la instalațiile dvs.

WordPress vă permite să vă redimensionați imaginile la dimensiuni specifice după încărcarea acestora și oferă în mod implicit unele presetări. Cu acest cod, veți putea adăuga noi presetări pentru a evita să setați dimensiuni personalizate:

add_image_size( 'sidebar-thumbnail', 120, 120 );

Rețineți că puteți adăuga câte dimensiuni noi doriți și acestea pot fi deosebit de utile dacă există o rezoluție specifică pe care o utilizați pe site-ul dvs.

8. Adăugați imagini recomandate la fluxul RSS

Mulți oameni nu știu acest lucru, dar WordPress generează automat fluxuri RSS pentru site-urile dvs. Dacă intenționați să o utilizați, veți dori să configurați o imagine recomandată pentru postările dvs., pe care o puteți face cu acest cod:

function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '

' . get_the_post_thumbnail($post->ID) .
'

' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

Imaginile prezentate pot face un drum lung spre a face feedul RSS să pară mai atractiv, ceea ce este crucial pentru orice tip de conținut care se bazează pe clicuri.

9. Excludeți categoriile din fluxul dvs. RSS

Unul dintre cele mai bune lucruri despre caracteristica fluxului RSS WordPress este cât de personalizabilă este. Cu acest cod, veți putea ascunde anumite categorii din feed, astfel încât să puteți alege și alege ce conținut se adaugă:

function exclude_category($query) {
if ( $query->is_feed ) {
$query->set('cat', -2, -3');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

Rețineți că WordPress identifică categoriile în funcție de numerele de identificare (adică -2 și -3 ) din codul de mai sus. Deci, va trebui să identificați ID-urile pentru categoriile pe care doriți să le eliminați înainte de a implementa acest hack.

10. Dezactivați fluxul RSS

Deși este o funcție excelentă WordPress, dacă nu sunteți deloc interesat să utilizați RSS, îl puteți dezactiva complet folosind acest fragment de cod:

function fb_disable_feed() {
wp_die( __('Sorry, we don't use RSS!') );
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);

Veți observa că codul include un mic mesaj pentru utilizatorii care încearcă să vă acceseze feedul după ce l-ați dezactivat. Nu există nici un dezavantaj în a-l menține activ, dar dacă sunteți sigur că nu îl veți folosi, acest lucru vă permite să îl opriți complet și să salvați potențial un ciclu sau două.

11. Ascundeți detaliile erorii dvs. de conectare la WordPress

Erorile de conectare care sunt prea detaliate pot oferi informații nedorite de care au nevoie pentru a avea acces la site-ul dvs. Cu acest cod, WordPress nu va specifica unde ați făcut o eroare când ați încercat să vă conectați:

function no_wordpress_errors(){
return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

Prin utilizarea acestui hack, este mai dificil pentru atacatori să încerce să obțină acces la site-ul dvs., în timp ce utilizatorii reali nu ar trebui să aibă nicio problemă în a afla unde au greșit. Un câștig-câștig peste tot!

12. Forțați utilizatorii să se conecteze cu numele lor de utilizator

O mulțime de oameni tind să se înscrie la fiecare serviciu folosind același e-mail, ceea ce înseamnă că atacatorii pot încerca să aibă acces doar cunoscându-și adresele de e-mail. Cu acest cod, veți forța utilizatorii să se conecteze folosind nume de utilizator exclusiv:

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

Pentru a fi corecți, numele de utilizator tind, de asemenea, să fie refolosite foarte mult, dar această mică ajustare vă poate ajuta în continuare să vă îmbunătățiți securitatea și să minimizați atacurile.

13. Modificați lungimea extraselor postate

Indexurile blogurilor WordPress afișează de obicei scurte fragmente din postările dvs. pentru a le oferi cititorilor o idee despre ce fac. Dacă ați dorit vreodată să modificați lungimea implicită a acestor fragmente, iată o oportunitate de a face acest lucru.

functionnew_excerpt_length($length) {
return 75;
}
add_filter('excerpt_length', 'new_excerpt_length');

Lungimea implicită este de 55, dar în codul de mai sus am ridicat-o la 75 pentru a ne oferi un pic mai mult spațiu de mișcare.

14. Activați WordPress pentru a încărca orice tip de fișier doriți

În mod implicit, WordPress vă permite să încărcați doar o gamă foarte limitată de tipuri de fișiere, inclusiv formate media obișnuite, cum ar fi .png și .jpg. Cu acest cod, veți putea forța instalarea să permită mai multe tipuri:

function my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml';
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Luați .svg, de exemplu, care este un tip de fișier despre care am discutat în trecut. Cu acest fragment, veți putea adăuga suport pentru acesta fără a fi nevoie de un plugin.

15. Dezactivați legarea automată a imaginilor

În afara cutiei, WordPress va adăuga linkuri către fiecare imagine pe care o includeți în conținutul dvs. care indică versiunea sa completă. Utilizând acest cod, veți dezactiva această funcționalitate:

function wpb_imagelink_setup() {
$image_set = get_option( 'image_default_link_type' );
if ($image_set !== 'none') {
update_option('image_default_link_type', 'none');
}
}
add_action('admin_init', 'wpb_imagelink_setup', 10);

Rețineți, totuși, puteți accesa în continuare această caracteristică editând fiecare imagine individuală - tot ceea ce face este să o împiedice să funcționeze automat.

16. Adăugați o zonă pregătită pentru widget

WordPress include deja mai multe zone pregătite pentru widget-uri pe care le puteți folosi, dar puteți adăuga oricând altele noi folosind puțină magie functions.php . Ca și în cazul hack-urilor noastre de coduri scurte anterioare, începeți să intrați în domeniul dezvoltatorului aici. Cu toate acestea, aceasta este o implementare simplă care vă poate ajuta enorm:

function custom_sidebars() {
	$args = array(
		'id'            => 'custom_sidebar',
		'name'          => __( 'Custom Widget', 'text_domain' ),
		'description'   => __( 'A custom widget, 'text_domain' ),
		'before_title'  => '


<h3 class="widget-title">',
		'after_title'   => '</h3>



',
		'before_widget' => '


<aside id="%1$s" class="widget %2$s">',
		'after_widget'  => '</aside>



',
	);
	register_sidebar( $args );
}
add_action( 'widgets_init', 'custom_sidebars' );

Rețineți că acest cod doar „înregistrează” noua zonă widget. În continuare, va trebui să-l apelați pentru secțiuni tematice specifice, cum ar fi subsolul dvs., editând fișierele respective.

17. Dezactivați funcția de căutare WordPress

Aproape fiecare site are nevoie de o funcție de căutare pentru a ajuta utilizatorii să își găsească drumul. Cu toate acestea, dacă aveți de gând să construiți un site cu o singură pagină, este posibil să nu aveți nevoie de el. Iată codul care vă va permite să dezactivați dacă este dezactivat:

function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query-&gt;is_search = false;
$query-&gt;query_vars[s] = false;
$query-&gt;query[s] = false;
// to error
if ( $error == true )
$query-&gt;is_404 = true;
}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

Înainte de a dezactiva această caracteristică, trebuie să fiți 100% sigur că nu veți avea nevoie de ea, deoarece poate avea un impact puternic asupra utilizabilității site-ului dvs. Desigur, puteți oricând să eliminați codul pentru a restabili căutarea pe site-ul dvs., dar dacă nu sunteți sigur, greșiți din partea precauției și nu o dezactivați!

Concluzie

Fișierul funcții.php este unul dintre cele mai puternice active din cutia de instrumente WordPress. Nu numai că vă permite să adăugați tot felul de caracteristici cu câteva linii de cod, dar este, de asemenea, esențial pentru funcționarea site-ului dvs. (vedeți ce am făcut acolo?).

Dacă sunteți utilizator Divi, fișierul functions.php vă poate ajuta să adăugați mai multe funcții complementare pe site-ul dvs. fără a fi nevoie să configurați pluginuri suplimentare, ceea ce este întotdeauna un câștig.

Aveți vreo întrebare cu privire la aceste hack-uri de fișiere ale funcțiilor WordPress? Dacă da, întrebați în secțiunea de comentarii de mai jos!

Imagine în miniatură a articolului de către MchlSkhrv / shutterstock.com