Chcę dopuścić przecinki w nazwach tagów? Na przykład, "hello, world"
czy "portland, or"
jednak Wordpress trzyma ich rozdzielenie. Mogę to zrobić na stronie kategorii:
obraz http://img839.imageshack.us/img839/6869/picturepp.png
I pokazuje się dobrze. Ale nic dodane z paska bocznego postów nie pokazuje się tutaj dobrze:
image http://img52.imageshack.us/img52/4950/picture1oax.png
Trwa dyskusja na ten temat tutaj: http://core.trac.wordpress.org/ticket/14691, ale wygląda na to, że może się nie rozwiązać, przynajmniej przez jakiś czas.
Tymczasem szukam łatwiejszego rozwiązania niż dodawanie kategorii ze strony kategorii.
Próbowałem szukać wtyczek i nie widziałem żadnej, która byłaby pomocna. Istnieje kilka, które zajmują się zastępowaniem przecinków innymi znakami podczas wyświetlania listy kategorii lub tagów, ale nie widzę żadnych wtyczek, które pozwalają użytkownikowi zastąpić domyślny separator.
Nie obchodzi mnie, czy muszę samodzielnie załatać rdzeń. Idealnie byłoby napisać wtyczkę, ale po przejrzeniu części kodu nie mogę dowiedzieć się, w jaki sposób zostanie to rozwiązane.
Czy ktoś ma rozwiązanie lub porady na temat tego, jakie funkcje i javascript zacząć hakować? Nie jestem pewien, od czego zacząć szukać w kodzie.
Odpowiedzi:
Nie wymaga hakowania rdzenia - dzięki: HAKI.
Haki pozwalają naprawić problem dzięki ładnej kombinacji
Oto kod:
Być może dodatkowe informacje w moim poście na blogu również na ten temat pomocy. Http://blog.foobored.com/all/wordpress-tags-with-commas/
Pozdrawiam, Andi
źródło
_x( ',', 'tag delimiter' )
aby złapać prawdziwy ogranicznik.Programowo można zapisywać tagi przecinkami w bardzo prosty sposób.
Jeśli zadzwonisz
wp_set_post_terms( $post_id, $terms, $taxonomy )
, jeśli podasz ciąg, zostanie on rozbity na tablicę. Jeśli podasz$terms
jako tablicę, każdy element w tablicy zostanie dostarczony jako własny termin bez podziału na wiele terminów.Zarówno,
wp_insert_post
a następniewp_update_post
użyj,wp_set_post_terms
gdy$arg
tax_input
jest ustawiony.Najlepszy sposób na tworzenie terminów w locie za pomocą interfejsu WordPress Dashboard może wymagać utworzenia własnego pola meta, w którym dowolny ciąg znaków, w tym przecinki, będzie jednym terminem. Niektóre wtyczki, takie jak ACF Pro, robią to domyślnie podczas tworzenia niestandardowego pola w celu zapisania taksonomii oraz wyboru ładowania i przypisywania warunków po zapisaniu.
Nawet po zapisaniu przecinkiem każda część tych terminów z przecinkami może nadal pojawiać się jako osobne elementy podczas edycji postu. W takim przypadku najlepiej może być wyłączyć domyślny interfejs użytkownika i polegać na niestandardowych meta-polach. Można to zrobić za pomocą Opcje ekranu podczas edycji typu postu. Niestandardowe taksonomie można również ukryć w sekcji szybkiej edycji podczas rejestracji.
źródło
add_filter( 'pre_tax_input', function( $tax_input ) { return (array) $tax_input; } );
pozwoli to jednak na przesłanie tylko jednego terminu na raz.możesz użyć filtra.
Na przykład, jeśli chcesz dodać przecinek po każdym znaczniku w chmurze znaczników, możesz umieścić następujące funkcje w pliku functions.php
źródło
Oto twoje rozwiązanie r. Zwróć uwagę na linię 2614:
Wewnątrz wp-obejmuje / taxonomy.php . Życzymy powodzenia w zhakowaniu kodu. nie ma żadnego haka. jest na stałe ... Przepraszam. Myślę, że włamanie się do kodu jest na razie jedyną opcją.
źródło
Przecinki w nazwach znaczników nie będą działać poprawnie, ponieważ podczas dodawania znacznika do postu WordPress parsuje go jako wiele słów kluczowych, dzieląc się przecinkiem.
Prosta poprawka:
Użyj
,
( kod HTML przecinka ) zamiast zwykłego przecinka.Następnie:
,
będzie wyświetlany jako ładny przecinek w postach, tagach tytułów stron i wielu innych miejscach.,
Podczas wpisywania nazwy znacznika wyświetli się jako surowy, w interfejsie administratora.FYI, używając encji HTML,
,
nie działa.źródło