Probabil sunteți familiarizați cu widgetul Categorii în WordPress. Recent, unul dintre cititorii noștri ne-a întrebat dacă este posibil să afișăm și postările recente într-un meniu derulant. În acest articol, vă vom arăta cum să afișați postările recente ca un meniu derulant în WordPress.

De ce și cine are nevoie de postări recente în drop-down?
WordPress vine cu un widget încorporat pentru postări recente pe care îl puteți adăuga în orice zonă pregătită pentru bara laterală sau widget.
Acest widget afișează pur și simplu o listă de postări recente și puteți alege numărul de postări pe care doriți să le afișați. Dar dacă doriți să afișați mai mult de 5-10 postări, atunci lista va ocupa mult spațiu în bara laterală.
Unii utilizatori WordPress ar putea avea nevoie de o modalitate compactă de a afișa postări recente. În acest caz, utilizarea meniurilor derulante sau a listelor retractabile vă poate ajuta să economisiți spațiu.
Să analizăm câteva moduri diferite de a afișa postările recente ca meniu derulant în WordPress.
Afișarea postărilor recente din WordPress ca meniu derulant simplu (cod manual)
Această metodă utilizează funcția încorporată wp_get_recent_posts. Tot ce trebuie să faceți este să copiați și să lipiți următorul cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului.
function wpb_recentposts_dropdown() {
$string .= '<select id="rpdropdown">
<option value="" selected>Select a Post</option>';
$args = array( 'numberposts' => '5', 'post_status' => 'publish' );
$recent_posts = wp_get_recent_posts($args);
foreach( $recent_posts as $recent ){
$string .= '<option value="' . get_permalink($recent["ID"]) . '">' . $recent["post_title"].'</option> ';
}
$string .= '</select>
<script type="text/javascript"> var urlmenu = document.getElementById( "rpdropdown" ); urlmenu.onchange = function() {
window.open( this.options[ this.selectedIndex ].value, "_self" );
};
</script>';
return $string;
}
add_shortcode('rp_dropdown', 'wpb_recentposts_dropdown');
add_filter('widget_text','do_shortcode');
Acum poți folosi shortcode-ul [rp_dropdown] în postările, paginile și widgeturile de text din WordPress. Va arăta așa:

Adăugarea de postări recente retractabile folosind un plugin
Metoda de mai sus listează pur și simplu postările dvs. recente într-un formular de tip drop-down. O altă modalitate de a economisi spațiu este prin adăugarea unei liste de postări recente care se poate restrânge și care se extinde atunci când utilizatorii dau clic pe ea.
Primul lucru pe care trebuie să-l faci este să instalezi și să activezi pluginul Collapse-O-Matic. Funcționează imediat, iar tu nu ai setări de configurat.
Pluginul vă permite pur și simplu să afișați orice într-un meniu colapsabil folosind un shortcode.
Înainte de a folosi acest plugin, avem nevoie de o modalitate de a afișa cu ușurință postările recente oriunde dorim. Pur și simplu adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului.
function wpb_recentposts() {
$string .= '<ul>';
$args = array( 'numberposts' => '5', 'post_status' => 'publish' );
$recent_posts = wp_get_recent_posts($args);
foreach( $recent_posts as $recent ){
$string .= '<li><a href="' . get_permalink($recent["ID"]) . '">' . $recent["post_title"].'</a></li> ';
}
$string .= '</ul>';
return $string;
}
add_shortcode('recentposts', 'wpb_recentposts');
add_filter('widget_text','do_shortcode');
Acest cod vă permite pur și simplu să afișați o listă de postări recente folosind shortcode-ul [recentposts].
Acum vom adăuga shortcode-ul nostru în shortcode-ul Collapse-O-Matic pentru a crea o listă retractabilă de postări recente.
Pur și simplu adaugă shortcode-ul astfel:
[expand title="Postări recente"][recentposts][/expand]
Puteți adăuga acest shortcode într-un widget de text, postări sau pagini de pe site-ul dvs. WordPress. Așa arăta pe site-ul nostru de test.

Atât, sperăm că acest articol v-a ajutat să afișați postările recente ca drop-down în WordPress. De asemenea, ați putea dori să vedeți aceste 6 sfaturi pentru a crea un calendar editorial de impact în WordPress.
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.

Mauro Vicariotto
Stimate autor,
există o eroare de scriere la linia 2 a funcției dumneavoastră wpb_recentposts_dropdown():
ar trebui să fie " $string = … " în loc de " $string .= … ".
Suport WPBeginner
.= și = au utilizări ușor diferite. În acest caz de utilizare, nu este o greșeală de scriere.
Admin
Yvonne Manders
Am făcut o greșeală și am rezolvat-o.
Suport WPBeginner
Glad you were able to solve the issue
Admin
Yvonne Manders
Salut,
Am instalat collapse-o-mattic și am lipit codul în fișierul functions.php.
După aceea am lipit shortcode-ul [expand title=”Recent Posts”][recentposts][/expand] într-un textwidget, dar nu s-a întâmplat nimic.
Îmi lipsește ceva?
Cu stimă, Yvonne
Suport WPBeginner
Ar trebui să plasați shortcode-ul în editorul de text, mai degrabă decât în editorul vizual, pentru a vă asigura că stilizarea nu împiedică funcționarea shortcode-ului.
Admin
Erika
Linia 3 are o eroare. Eticheta de opțiune de închidere îi lipsește "/". Acest lucru generează o opțiune goală în meniu.
Suport WPBeginner
Thank you for letting us know, the code should be fixed now
Admin
Amjad
Salutare. Am folosit codul de mai sus pentru a afișa toate postările mele într-un meniu derulant, dar nu sunt sortate. Am două întrebări aici:
1. Cum pot sorta postările după titlu?
2. Cum pot afișa postări dintr-o anumită categorie în meniul derulant, în loc să afișez toate postările?
Suport WPBeginner
Pentru ceea ce pare că îți dorești, ar trebui să arunci o privire la tutorialul nostru de aici: https://www.wpbeginner.com/plugins/how-to-let-users-filter-posts-and-pages-in-wordpress/
Admin
Rolando
Articol grozav! Cum îl poți face după o anumită categorie și nu doar după toate categoriile tale? De asemenea, se poate face alfabetic?
Farai Mugaviri
Vă mulțumesc mult pentru ajutorul oferit. Aș dori, de asemenea, să afișez categoriile într-o listă derulantă, dacă mă puteți ajuta cu asta... Dar acum, dacă îmi actualizez Wordpress, este posibil? Am văzut undeva că vorbeau despre provocări la actualizarea WordPress și riscul de a pierde date din cauza codificării funcțiilor PHP.
Robert
Instrument grozav, mulțumesc pentru asta!
Este posibil să sortez ieșirea postărilor din listă în ordine alfabetică?
Mulțumesc anticipat pentru răspunsul dumneavoastră!
Cu stimă,
Robert
Andre
Este posibil să afișezi meniul derulant cu postări cu un buton de trimitere?
‘function wpb_recentposts_dropdown() {
$string .= ‘
Select your School’
$args = array( ‘numberposts’ => ‘5’, ‘post_status’ => ‘publish’ );
$recent_posts = wp_get_recent_posts($args); foreach( $recent_posts as $recent ){ $string .= "" . $recent["post_title"].' '; }
$string .= ‘
GĂSEȘTE ȘCOALA ACUM
var urlmenu = document.getElementById( “submitschool” ); urlmenu.onclick = function() {
window.open( this.options[ this.selectedIndex ].value, “_self” );
};
‘;
return $string;
}
add_shortcode(‘rp_dropdown’, ‘wpb_recentposts_dropdown’);
add_filter(‘widget_text’,’do_shortcode’);’
Emily Johns
Material foarte îngrijit!! O lectură grozavă și ușor de înțeles.
NG SHAIKH
Este un articol excelent. Începătorii ca mine pot înțelege puterea WordPress și a plugin-urilor sale prin astfel de articole.
Aș fi luminat dacă ar fi scrise câteva articole pentru a afișa un mesaj pe o anumită pagină și nu pe toate postările și paginile.
De asemenea, va ajuta începătorii dacă sunt scrise câteva articole pentru a afișa un formular pentru introducerea datelor de către utilizator, care poate fi salvat în baza de date.
Julie S
Îmi place foarte mult meniul derulant pentru postările recente. Cum pot controla lățimea acestui meniu derulant? Implicit este prea lung pentru bara mea laterală.
Suport WPBeginner
Încercați să ajustați lățimea folosind CSS:
select#rp_dropdown { width:200px; }1-click Use in WordPress
Admin