Fügen Sie der Kategorie
-
-
Mögliches Duplikat von [Gibtes Beispielefür das Hinzufügenbenutzerdefinierter Felder zum Kategorie-Editor?] (http://wordpress.stackexchange.com/questions/6549/any-examples-of-adding-custom-fields-to-the-category-editor))possible duplicate of [Any examples of adding custom fields to the category editor?](http://wordpress.stackexchange.com/questions/6549/any-examples-of-adding-custom-fields-to-the-category-editor)
- 0
- 2011-02-08
- Jan Fabry
-
Hieristein Spickzettel,denich dabeibenutze.Es hat die relevanten Aktions-Hooks und Filterin einer kurzen Liste. http://www.charlestonsw.com/adding-custom-fields-to-the-wordpress-category-interface/Here is a cheat sheet I use when doing this. It has the relevant action hooks & filters in one short list. http://www.charlestonsw.com/adding-custom-fields-to-the-wordpress-category-interface/
- 0
- 2013-02-03
- Lance Cleveland
-
3 Antworten
- Stimmen
-
- 2016-06-29
Ab Wordpress 4.4ist add_term_meta () das update_term_meta () und get_term_meta () Funktionen wurden hinzugefügt. Diesbedeutet,dass der von MxmastaMillsbereitgestellte Code aktualisiert werden kann,umeinen weitaus weniger hackigen Ansatz zu verwenden.
Hieristmein Update davon. Esgibt nurein Feld,daicheinen benutzerdefinierten Titel hinzufügen wollte,aberesfunktioniertfür alle Felder,die Sie hinzufügenmöchten,gleich.
function addTitleFieldToCat(){ $cat_title = get_term_meta($_POST['tag_ID'], '_pagetitle', true); ?> <tr class="form-field"> <th scope="row" valign="top"><label for="cat_page_title"><?php _e('Category Page Title'); ?></label></th> <td> <input type="text" name="cat_title" id="cat_title" value="<?php echo $cat_title ?>"><br /> <span class="description"><?php _e('Title for the Category '); ?></span> </td> </tr> <?php } add_action ( 'edit_category_form_fields', 'addTitleFieldToCat'); function saveCategoryFields() { if ( isset( $_POST['cat_title'] ) ) { update_term_meta($_POST['tag_ID'], '_pagetitle', $_POST['cat_title']); } } add_action ( 'edited_category', 'saveCategoryFields');
As of Wordpress 4.4, the add_term_meta(), the update_term_meta() and get_term_meta() functions have been added. This means that the code as provided by MxmastaMills can be updated to use a far less hacky approach.
Here is my update of it. There is only one field as I wanted to add a custom title, but it'll work the same for all the fields you want to add.
function addTitleFieldToCat(){ $cat_title = get_term_meta($_POST['tag_ID'], '_pagetitle', true); ?> <tr class="form-field"> <th scope="row" valign="top"><label for="cat_page_title"><?php _e('Category Page Title'); ?></label></th> <td> <input type="text" name="cat_title" id="cat_title" value="<?php echo $cat_title ?>"><br /> <span class="description"><?php _e('Title for the Category '); ?></span> </td> </tr> <?php } add_action ( 'edit_category_form_fields', 'addTitleFieldToCat'); function saveCategoryFields() { if ( isset( $_POST['cat_title'] ) ) { update_term_meta($_POST['tag_ID'], '_pagetitle', $_POST['cat_title']); } } add_action ( 'edited_category', 'saveCategoryFields');
-
Einige Dinge zubeachten: Im Hook "editierte_Kategorie"befindet sich "tag_ID"im Array "$ _POST",nichtim Array "$ _GET".Außerdemfügt `add_term_meta`tatsächlicheinen neuen Eintrag hinzu,anstatteinen möglichen alten zu überschreiben.Verwenden Sie stattdessen "update_term_meta".Few things to note: in the `edited_category` hook, `tag_ID` will be in the `$_POST` array, not in the `$_GET`. Also `add_term_meta` will actually add a new entry instead of overriding a possible old one. Use `update_term_meta` instead.
- 2
- 2016-10-02
- Martin Dimitrov
-
@MartinDimitrov Könnten Sie die Antwort von Luke-Simmons korrigieren,indem Sie auf die Schaltfläche Bearbeiten klicken?Auf diese Weise kannjeder denbesten verfügbaren Code verwenden,auch wennernicht sehrgut codiert (Designer hier!).Vielen Dank!@MartinDimitrov Could you fix luke-simmons's answer by clicking on edit button? This way everyone can use the best code available, even who does not code very well (designer here!). Thank you!
- 0
- 2016-11-08
- Hugo
-
Die Daten werdennichtim FormulargespeichertIt doesn't save the data in the form
- 1
- 2017-05-11
- Dev
-
@Dev speichert zwar Daten,zeigt siejedochnur an,wenn Siein der zweiten Zeile $ _POSTin $ _GET ändern.@Dev it does save data, it just don't show it unless you change $_POST to $_GET in second line.
- 0
- 2018-08-24
- banesto
-
- 2018-01-14
Dieser Codefunktioniert:
add_action ( 'category_edit_form_fields', function( $tag ){ $cat_title = get_term_meta( $tag->term_id, '_pagetitle', true ); ?> <tr class='form-field'> <th scope='row'><label for='cat_page_title'><?php _e('Category Page Title'); ?></label></th> <td> <input type='text' name='cat_title' id='cat_title' value='<?php echo $cat_title ?>'> <p class='description'><?php _e('Title for the Category '); ?></p> </td> </tr> <?php }); add_action ( 'edited_category', function( $term_id ) { if ( isset( $_POST['cat_title'] ) ) update_term_meta( $term_id , '_pagetitle', $_POST['cat_title'] ); });
This code works:
add_action ( 'category_edit_form_fields', function( $tag ){ $cat_title = get_term_meta( $tag->term_id, '_pagetitle', true ); ?> <tr class='form-field'> <th scope='row'><label for='cat_page_title'><?php _e('Category Page Title'); ?></label></th> <td> <input type='text' name='cat_title' id='cat_title' value='<?php echo $cat_title ?>'> <p class='description'><?php _e('Title for the Category '); ?></p> </td> </tr> <?php }); add_action ( 'edited_category', function( $term_id ) { if ( isset( $_POST['cat_title'] ) ) update_term_meta( $term_id , '_pagetitle', $_POST['cat_title'] ); });
-
Diesist weniger ungeschickt als das andere undich habeesgerademit WordPress 5.2.2 überprüftThis is less clumsy than the other one and I just verified it with WordPress 5.2.2
- 0
- 2019-07-25
- nico gawenda
-
- 2011-02-07
Paul Menard liefertein seinem Blogein Beispielfür das Erstellen und Verwenden von Begriffsmeta ...
Benutzerdefiniertes Metafürneue Taxonomienin WordPress 3.0 .Esgibt kein Beispielfür das Erstellen der DB-Tabelle oder das Überprüfen,ob
$_POST
-Variablenfestgelegt sind. Siemüssen diese kleinen Dinge also selbsterledigen,aberes siehtnacheiner anständigen Codebasis aus,um darauf aufzubauenvon ... :)Paul Menard provided an example of how to create and use term meta in his blog...
Custom meta for new taxonomies in WordPress 3.0.There's no example of creating the DB table or checking
$_POST
vars are set, so you'll need to do those little things yourself, but it looks like a decent code base to build on top of ... :)
Ichmöchteeinerbestimmten Kategoriebenutzerdefinierte Felder hinzufügen. Eine Kategorieenthältnur diefolgenden Felder:
Name:
Schnecke:
Eltern:
Beschreibung:
Daicheine TV-Serien-Site habe,möchteicheinige weitere Felder hinzufügen. Ichmöchte soetwas,wennicheine neue Kategorie (Kategorie=Serie)erstelle.
Name:
Künstler:
Jahr:
Typ:
Genre:
Zusammenfassung:
Schnecke:
Eltern:
Beschreibung:
Und so weiter ...
Hilfebitte? Vielen Dankim Voraus.