✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Õpetus: kuidas lisada kohandatud hulgitoimingut WordPressi administraatoris

10

Enamiku WordPressi administraatori elementide tabelite (nt postitused, lehed, kommentaarid, pistikprogrammid ja kasutajad) kohalt leiate WordPressi hulgitoimingute funktsioonid. Hulgitoimingud võimaldavad teil märkida mitu elementi, valida toimingu ja lasta see toiming sooritada kõigi elementide jaoks korraga. Selles postituses vaatleme, kuidas lisada WordPressi administraatorile oma kohandatud hulgitoiminguid.

Kohandatud hulgitoimingu lisamine on WordPressi viimastes versioonides (alates versioonist 4.7) muutunud palju lihtsamaks. Rippmenüüs saadaolevate valikute jaoks on filter; veel üks filter selle kohta, mida ta peaks tegema, kui teie suvand on valitud, ja teine ​​konks administraatoriteate valikuliseks kuvamiseks. Vaatame igaüks neist läbi.

Kohandatud hulgitoimingu lisamine rippmenüüsse

Alustame oma kohandatud hulgivaliku lisamisega hulgitoimingute rippmenüüsse. Selleks kasutame filtrit bulk_actions_<screen>, kus asendate selle administraatorikuvaga, kuhu soovite oma valiku lisada. Siin on täielik ülevaade ekraani võimalikest valikutest:

  • bulk_actions-edit-post: postituse muutmiskuva tüüp „postitus".
  • bulk_actions-edit-page: postituse tüübi muutmiskuva ‘leht’
  • bulk_actions-edit-<post-type-name>: kohandatud postituse tüübi muutmise ekraan
  • bulk_actions-edit-<custom-taxonomy>: kohandatud taksonoomia redigeerimise ekraan
  • bulk_actions-edit-comments: kommentaaride loendi ekraan
  • bulk_actions-plugins: pistikprogrammide loendi ekraan
  • bulk_actions-users: kasutajate loendi ekraan
  • bulk_actions-upload: meediumiteegi loend (töötab ainult loendivaates, mitte ruudustikuvaates)

Filter rakendatakse võtme-väärtuste paaridega massiivile; kus võtmed on toimingute kordumatu võti ja väärtused on silt, mis kuvatakse rippmenüüs.

Vaatame näidet. Soovin luua hulgitoimingu postituste avaldamiseks.

add_filter('bulk_actions-edit-post', function($bulk_actions) { $bulk_actions['change-to-published'] = __('Change to published', 'txtdomain'); return $bulk_actions; });

Kui salvestate ja värskendate postituste redigeerimisekraani, peaksite nägema oma valikut rippmenüüs.

Õpetus: kuidas lisada kohandatud hulgitoimingut WordPressi administraatoris

Praeguse seisuga on meie kohandatud hulgitoimingud täiesti zip. See on järgmine samm.

Pannes meie kohandatud hulgitoimingud midagi tegema

Et midagi käivitada, valides meie äsja lisatud valiku dropwonis, ühendame me filtri handle_bulk_actions-<screen>. Ekraani võimalike väärtuste kohta vaadake ülaltoodud ülevaadet. Ilmselgelt peaks teie käepideme konks olema sama ekraan kui ekraan, millele lisasite esimeses etapis hulgitoimingu.

Selles filtris on kolm võimalikku argumenti. Esimene – see, mille tagastate – on tegelikult URL, millele WordPress peaks pärast teie hulgitoimingu lõpetamist ümber suunama. Teine argument on rippmenüüst valitud toimingu nimi. Ja kolmandaks on massiiv kõikidest elementide ID-dest, mida hulgitoimingu jaoks kontrolliti. Need on elemendid, millele peame oma tegevust rakendama.

Vaatame samm-sammult, mida ülaltoodud kood teeb. Kõigepealt peame kontrollima, kas sooritatud hulgitoiming oli tõepoolest meie kohandatud toiming; change-to-published. Ja siis on meie asi, kas teeme kõigi ID-dega, mida tahame.

Ülaltoodud kood liigub läbi kõigi postituste ID-de ja toimib wp_update_post()igaühe puhul, et muuta nende postituse olek avaldatud. (Kui soovite, et see oleks tõhus, võiksite kaaluda ainult nende värskendamist, mis pole veel avaldatud).

Kui oleme valitud elementidega toimingud lõpetanud, peame looma URL-i, kuhu pärast WordPressi valmimist ümber suunata. Lisame esitatud ümbersuunamise URL-ile kohandatud argumendi. See on valikuline, kuid vajalik, kui tahame näidata administraatoriteatist. Saame lisada kõike, mida soovite. Kuid ülaltoodud näites lisame mõjutatud postituste ID-de arvule lihtsalt uue päringu arg-i add_query_arg()sättega " ". changed-to-publishedSee on teatise jaoks kasulik teave.

Pärast kohandatud hulgitoimingu tegemist kuvage teatis

Kui teete praegu meie kohandatud hulgitoimingu, märkate, et pärast seda, kui WordPress on hulgitoimingu lõpetanud, laadib ta lehe uuesti ja URL-is on järgmine teave: "wp-admin/edit.php?changed-to-published=2". „2″ on postituste arv, millele me oma toimingu rakendasime. See võimaldab meil lisada kohandatud administraatori teatise, mis käivitub, kui on määratud „Muudetud avaldatud”.

Administraatorite märguannete kuvamiseks saame kasutada toimingut admin_notices. Kontrollime PHP globaalset muutujat, $_REQUESTmis on täidetud vormi esitatud väärtustega, kui " changed-to-published" on olemas. Kui see nii on, tähendab see, et meie kohandatud hulgitoimingud viidi just läbi. Seejärel kuvame teksti, sealhulgas rakendatud postituste arvu.

Ja see ongi kõik!

Õpetus: kuidas lisada kohandatud hulgitoimingut WordPressi administraatoris

Kohandatud hulgitoimingu muud kasutusviisid

Pidage meeles, et handle_bulk_actions-<screen>konksus saate valitud elementidega teha põhimõtteliselt kõike, mida soovite. Saate värskendada kohandatud postituse metat, muuta kasutajate rolle, saata meilisõnumeid või postitada HTTP-päringu mõnele kolmanda osapoole rakendusele.

Näiteks; Kui soovite kohandatud postituse meta värskendamiseks hulgitoimingut, mis annab teada, kas postitused on kinnitatud või mitte, kasutades kohandatud hulgitoimingut võtmega „ mark-as-verified“:

add_filter('handle_bulk_actions-edit-post', function($redirect_url, $action, $post_ids) { if ($action == 'mark-as-verified') { foreach ($post_ids as $post_id) { update_post_meta($post_id, 'verified', '1'); } $redirect_url = add_query_arg('mark-as-verified', count($post_ids), $redirect_url); } return $redirect_url; }, 10, 3);

Kombineerige ülaltoodu kohandatud veeruga, mis näitab postituste loendites ‘kinnitatud’ väärtust – nagu tegime selles postituses, ja see muutub eriti kasulikuks.

Õpetus: kuidas lisada kohandatud hulgitoimingut WordPressi administraatoris

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem