{"id":233535,"date":"2023-02-16T18:45:00","date_gmt":"2023-02-16T15:45:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233535"},"modified":"2022-11-11T00:13:33","modified_gmt":"2022-11-10T21:13:33","slug":"opetus-kuidas-lisada-kohandatud-hulgitoimingut-wordpressi-administraatoris","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/opetus-kuidas-lisada-kohandatud-hulgitoimingut-wordpressi-administraatoris\/","title":{"rendered":"\u00d5petus: kuidas lisada kohandatud hulgitoimingut WordPressi administraatoris"},"content":{"rendered":"\n<p>Enamiku WordPressi administraatori elementide tabelite (nt postitused, lehed, kommentaarid, pistikprogrammid ja kasutajad) kohalt leiate WordPressi hulgitoimingute funktsioonid. Hulgitoimingud v\u00f5imaldavad teil m\u00e4rkida mitu elementi, valida toimingu ja lasta see toiming sooritada k\u00f5igi elementide jaoks korraga. Selles postituses vaatleme, kuidas lisada WordPressi administraatorile oma kohandatud hulgitoiminguid.<\/p>\n<p>Kohandatud hulgitoimingu lisamine on WordPressi viimastes versioonides (alates versioonist 4.7) muutunud palju lihtsamaks. Rippmen\u00fc\u00fcs saadaolevate valikute jaoks on filter; veel \u00fcks filter selle kohta, mida ta peaks tegema, kui teie suvand on valitud, ja teine \u200b\u200bkonks administraatoriteate valikuliseks kuvamiseks. Vaatame iga\u00fcks neist l\u00e4bi.<\/p>\n<h2>Kohandatud hulgitoimingu lisamine rippmen\u00fc\u00fcsse<\/h2>\n<p>Alustame oma kohandatud hulgivaliku lisamisega hulgitoimingute rippmen\u00fc\u00fcsse. Selleks kasutame filtrit <code>bulk_actions_&lt;screen&gt;<\/code>, kus asendate selle administraatorikuvaga, kuhu soovite oma valiku lisada. Siin on t\u00e4ielik \u00fclevaade ekraani v\u00f5imalikest valikutest:<\/p>\n<ul>\n<li><code>bulk_actions-edit-post<\/code>: postituse muutmiskuva t\u00fc\u00fcp \u201epostitus&quot;.<\/li>\n<li><code>bulk_actions-edit-page<\/code>: postituse t\u00fc\u00fcbi muutmiskuva &#8216;leht&#8217;<\/li>\n<li><code>bulk_actions-edit-&lt;post-type-name&gt;<\/code>: kohandatud postituse t\u00fc\u00fcbi muutmise ekraan<\/li>\n<li><code>bulk_actions-edit-&lt;custom-taxonomy&gt;<\/code>: kohandatud taksonoomia redigeerimise ekraan<\/li>\n<li><code>bulk_actions-edit-comments<\/code>: kommentaaride loendi ekraan<\/li>\n<li><code>bulk_actions-plugins<\/code>: pistikprogrammide loendi ekraan<\/li>\n<li><code>bulk_actions-users<\/code>: kasutajate loendi ekraan<\/li>\n<li><code>bulk_actions-upload<\/code>: meediumiteegi loend (t\u00f6\u00f6tab ainult loendivaates, mitte ruudustikuvaates)<\/li>\n<\/ul>\n<p>Filter rakendatakse v\u00f5tme-v\u00e4\u00e4rtuste paaridega massiivile; kus v\u00f5tmed on toimingute kordumatu v\u00f5ti ja v\u00e4\u00e4rtused on silt, mis kuvatakse rippmen\u00fc\u00fcs.<\/p>\n<p>Vaatame n\u00e4idet. Soovin luua hulgitoimingu postituste avaldamiseks.<\/p>\n<pre><code>add_filter('bulk_actions-edit-post', function($bulk_actions) {\n    $bulk_actions['change-to-published'] = __('Change to published', 'txtdomain');\n    return $bulk_actions;\n});<\/code><\/pre>\n<p>Kui salvestate ja v\u00e4rskendate postituste redigeerimisekraani, peaksite n\u00e4gema oma valikut rippmen\u00fc\u00fcs.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153003-61e50168c2dcc.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153003-61e50168c2dcc.png\" alt=\"\u00d5petus: kuidas lisada kohandatud hulgitoimingut WordPressi administraatoris\" ><\/a><\/p>\n<p>Praeguse seisuga on meie kohandatud hulgitoimingud t\u00e4iesti zip. See on j\u00e4rgmine samm.<\/p>\n<h2>Pannes meie kohandatud hulgitoimingud midagi tegema<\/h2>\n<p>Et midagi k\u00e4ivitada, valides meie \u00e4sja lisatud valiku dropwonis, \u00fchendame me filtri <code>handle_bulk_actions-&lt;screen&gt;<\/code>. Ekraani v\u00f5imalike v\u00e4\u00e4rtuste kohta vaadake \u00fclaltoodud \u00fclevaadet. Ilmselgelt peaks teie k\u00e4epideme konks olema sama ekraan kui ekraan, millele lisasite esimeses etapis hulgitoimingu.<\/p>\n<p>Selles filtris on kolm v\u00f5imalikku argumenti. Esimene \u2013 see, mille tagastate \u2013 on tegelikult URL, millele WordPress peaks p\u00e4rast teie hulgitoimingu l\u00f5petamist \u00fcmber suunama. Teine argument on rippmen\u00fc\u00fcst valitud toimingu nimi. Ja kolmandaks on massiiv k\u00f5ikidest elementide ID-dest, mida hulgitoimingu jaoks kontrolliti. Need on elemendid, millele peame oma tegevust rakendama.<\/p>\n<pre><code>add_filter('handle_bulk_actions-edit-post', function($redirect_url, $action, $post_ids) {\n    if ($action == 'change-to-published') {\n        foreach ($post_ids as $post_id) {\n            wp_update_post([\n                'ID' =&gt; $post_id,\n                'post_status' =&gt; 'publish'\n            ]);\n        }\n        $redirect_url = add_query_arg('changed-to-published', count($post_ids), $redirect_url);\n    }\n    return $redirect_url;\n}, 10, 3);<\/code><\/pre>\n<p>Vaatame samm-sammult, mida \u00fclaltoodud kood teeb. K\u00f5igepealt peame kontrollima, kas sooritatud hulgitoiming oli t\u00f5epoolest meie kohandatud toiming; <code>change-to-published<\/code>. Ja siis on meie asi, kas teeme k\u00f5igi ID-dega, mida tahame.<\/p>\n<p>\u00dclaltoodud kood liigub l\u00e4bi k\u00f5igi postituste ID-de ja toimib <code>wp_update_post()<\/code>iga\u00fche puhul, et muuta nende postituse olek avaldatud. (Kui soovite, et see oleks t\u00f5hus, v\u00f5iksite kaaluda ainult nende v\u00e4rskendamist, mis pole veel avaldatud).<\/p>\n<p>Kui oleme valitud elementidega toimingud l\u00f5petanud, peame looma URL-i, kuhu p\u00e4rast WordPressi valmimist \u00fcmber suunata. Lisame esitatud \u00fcmbersuunamise URL-ile kohandatud argumendi. See on valikuline, kuid vajalik, kui tahame n\u00e4idata administraatoriteatist. Saame lisada k\u00f5ike, mida soovite. Kuid \u00fclaltoodud n\u00e4ites lisame m\u00f5jutatud postituste ID-de arvule lihtsalt uue p\u00e4ringu arg-i <code>add_query_arg()<\/code>s\u00e4ttega &quot; &quot;. <code>changed-to-published<\/code>See on teatise jaoks kasulik teave.<\/p>\n<h2>P\u00e4rast kohandatud hulgitoimingu tegemist kuvage teatis<\/h2>\n<p>Kui teete praegu meie kohandatud hulgitoimingu, m\u00e4rkate, et p\u00e4rast seda, kui WordPress on hulgitoimingu l\u00f5petanud, laadib ta lehe uuesti ja URL-is on j\u00e4rgmine teave: &quot;wp-admin\/edit.php?changed-to-published=2&quot;. \u201e2&#8243; on postituste arv, millele me oma toimingu rakendasime. See v\u00f5imaldab meil lisada kohandatud administraatori teatise, mis k\u00e4ivitub, kui on m\u00e4\u00e4ratud \u201eMuudetud avaldatud&#8221;.<\/p>\n<p>Administraatorite m\u00e4rguannete kuvamiseks saame kasutada toimingut <code>admin_notices<\/code>. Kontrollime PHP globaalset muutujat, <code>$_REQUEST<\/code>mis on t\u00e4idetud vormi esitatud v\u00e4\u00e4rtustega, kui &quot; <code>changed-to-published<\/code>&quot; on olemas. Kui see nii on, t\u00e4hendab see, et meie kohandatud hulgitoimingud viidi just l\u00e4bi. Seej\u00e4rel kuvame teksti, sealhulgas rakendatud postituste arvu.<\/p>\n<pre><code>add_action('admin_notices', function() {\n    if (!empty($_REQUEST['changed-to-published'])) {\n        $num_changed = (int) $_REQUEST['changed-to-published'];\n        printf('&lt;div id=\"message\" class=\"updated notice is-dismissable\"&gt;&lt;p&gt;'. __('Published %d posts.', 'txtdomain'). '&lt;\/p&gt;&lt;\/div&gt;', $num_changed);\n    }\n});<\/code><\/pre>\n<p>Ja see ongi k\u00f5ik!<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153003-61e50169c2e34.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153003-61e50169c2e34.png\" alt=\"\u00d5petus: kuidas lisada kohandatud hulgitoimingut WordPressi administraatoris\" ><\/a><\/p>\n<h2>Kohandatud hulgitoimingu muud kasutusviisid<\/h2>\n<p>Pidage meeles, et <code>handle_bulk_actions-&lt;screen&gt;<\/code>konksus saate valitud elementidega teha p\u00f5him\u00f5tteliselt k\u00f5ike, mida soovite. Saate v\u00e4rskendada kohandatud postituse metat, muuta kasutajate rolle, saata meilis\u00f5numeid v\u00f5i postitada HTTP-p\u00e4ringu m\u00f5nele kolmanda osapoole rakendusele.<\/p>\n<p>N\u00e4iteks; Kui soovite kohandatud postituse meta v\u00e4rskendamiseks hulgitoimingut, mis annab teada, kas postitused on kinnitatud v\u00f5i mitte, kasutades kohandatud hulgitoimingut v\u00f5tmega \u201e <code>mark-as-verified<\/code>&#8220;:<\/p>\n<pre><code>add_filter('handle_bulk_actions-edit-post', function($redirect_url, $action, $post_ids) {\n    if ($action == 'mark-as-verified') {\n        foreach ($post_ids as $post_id) {\n            update_post_meta($post_id, 'verified', '1');\n        }\n        $redirect_url = add_query_arg('mark-as-verified', count($post_ids), $redirect_url);\n    }\n    return $redirect_url;\n}, 10, 3);<\/code><\/pre>\n<p>Kombineerige \u00fclaltoodu kohandatud veeruga, mis n\u00e4itab postituste loendites &#8216;kinnitatud&#8217; v\u00e4\u00e4rtust \u2013 nagu <a href=\"https:\/\/awhitepixel.com\/blog\/how-to-modify-or-add-custom-columns-to-post-list-in-wordpress-admin\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tegime selles postituses<\/a>, ja see muutub eriti kasulikuks.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153003-61e5016adc6a5.gif\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153003-61e5016adc6a5.gif\" alt=\"\u00d5petus: kuidas lisada kohandatud hulgitoimingut WordPressi administraatoris\" ><\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/awhitepixel.com\" class=\"external external_icon\">awhitepixel.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Selles postituses vaatleme, kuidas lisada WordPressi administraatorile kohandatud hulgitoimingut \u2013 mida saab lisada postituste loendisse, kommentaaridesse, kasutajatele ja pistikprogrammide ekraanidele,<\/p>\n","protected":false},"author":1,"featured_media":221177,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,718,894,916,916,1110,842,802,802,842,863,863],"tags":[1165],"class_list":{"0":"post-233535","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-arendaja","8":"category-kood","11":"category-muud","13":"category-n-a","14":"category-opetused","15":"category-php-4","18":"category-wordpress-4","20":"tag-affiai-et"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=233535"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233535\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/221177"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=233535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}