Sierotki to wiszące na końcu linii spójniki, które wisieć tak nie powinny, ponieważ jest to błąd typograficzny. Na dodatek czyta się to kiepsko.
Malusieńka wtyczka do pobrania: sierotki, która zapobiega takim sytuacjom, poprzez zamianę spacji za znakiem w twardą.
krzychu
cytuję:
Wtyczka nie mogła zostać włączona, ponieważ spowodowała wystąpienie krytycznego błędu.
Parse error: syntax error, unexpected T_FUNCTION in /wp-content/plugins/sierotki/sierotki.php on line 11
Marcin
@krzychu – Nie wiem co zrobiłeś, ale wszystkie wersje są poprawne:
Marcin
Wszystko jasne! Użyłem funkcji anonimowej, która jest dostępna dopiero od PHP 5.3.0, co oznacza, że na większości hostingów wtyczka nie mogła działać, bo starszy PHP nie rozumiał tego zapisu. Wersja 1.1 pojawi się pewnie za niedługo na codex’ie (ja już ją wydałem), dzięki czemu powinno być już dobrze.
krzychu
Tak, dokładnie chodzi o funkcje anonimowe. Ustaliłem to już po zgłoszeniu na niniejszej stronie. Używałem wersji 1.0.1, a jak zapewne zauważyłeś hosting jest w home.
Dziś wykonałem aktualizację do 1.1 – aktualizacja i włączenie poszło gładko.
Ale mam wątpliwości co do skuteczności działania wtyczki. Spójrz na http://born66.net/?p=4000 literka „A” wisi jak jakaś sierota …
Marcin
@krzychu: 1.2 wypuszczone dziś rano operuje też na wielkich literach.
krzychu
Wiem, potwierdzam: działa. Dziękuję za szybką reakcję.
filczyk
Wspaniale że wtyczka się rozwija, chociaż jej częste niewielkie aktualizacje są trochę uciążliwe :) Dzięki za sierotki!
Marcin
Chyba osiągnąłem kres aktualizacji.
birchoff
Dzięki za sierotki! :)
nvr
przydało by się zrobic coś z pozostawianymi na końcach: ale, we, do, ul., na, po, nr i nr.
To na razie tyle co mi się w oczy rzuciło.
Marcin
nr. – to na pewni nie bo to jest .. nieprawidłowy zapis :D resztę dorzucam do TODO
nvr
Może i masz rację ;-)
Dorzucę jeszcze: ks. i który
Powolutku wychodzi w praniu, więc jak coś jeszcze zauważę to dam znać.
No i dzięki. Dobra robota!
Sam zbierałem się do zrobienia jakiegoś sierocińca (do tej pory korzystałem z wp-typography) jednak trochę pilniejszych spraw na głowie było i czekał sobie w kolejce.
nvr
Ech, nie mogłem czekać.
Na własne potrzeby wprowadziłem małe rozwinięcie:
return preg_replace(’/( |>|\()([aiouwz]|że|za|na|od|to|we|do|po|by|nr|ale|nad|pod|gdy|oraz|któr.) +/i’, „$1$2 „, $content);
Łukasz
Gratuluję projektu, właśnie zainstalowałem i sprawdza się świetnie! Liczę na dalszy rozwój i wdrażanie uwag użytkowników ;)
Marcin
@Łukasz – dziękuję, ale jest prośba żeby jako „nicka” raczej nie używać słowa kluczowego, bo to miejsce nie służy do pozycjonowania. (nicka w komentarzu zmieniłem, następny komentarza zgłoszę jako spam).
Marcin
@nvr: dodałem możliwość samodzielnego dopisywania sierotek :D
Łukasz
@gurthg: przyznam, że nie pamiętam już co wpisałem jako nick :/ ale tym razem podpisałem się jako „Łukasz” :) btw podlinkowany u Ciebie i tak jest tylko gravatar, więc chyba treść nicka nie odgrywa tutaj zbyt wielkiej roli :)
Marcin
W alt obrazka jest nick.
nvr
@gurthg, no super ;-D
Chociaż dobrze by wtyczka natywnie obsługiwała możliwie wiele sierotek.
Podsunę kolejne rozwinięcie uwzględniające najpopularniejsze skróty i takie tam. Może Ci się przyda ;-)
$therms = array ( 'ale’, 'ależ’, 'oraz’, 'od’, 'do’, 'na’, 'nad’, 'pod’, 'przed’, 'po’, 'to’, 'tamto’, 'tej’, 'tamtej’, 'we’, 'za’, 'ze’, 'że’, 'mój’, 'moje’, 'mojego’, 'mojemu’, 'mojej’, 'mych’, 'moich’, 'twój’, 'twych’, 'twoich’, 'twoje’, 'twojego’, 'twojej’, 'by’, 'bym’, 'byś’, 'żeby’, 'żebyś’, 'gdy’, 'gdyż’, 'gdyby’, 'gdybym’, 'gdybyś’, 'komu’, 'który’, 'którego’, 'któremu’, 'która’, 'której’, 'którzy’, 'którym’, 'których’, 'min’, 'max’, 'nr’, 'fot.’, 'cz.’, 'cyt.’, 'czyt.’, 'np.’, 'nt.’, 'nw.’, 'jw.’, 'tj.’, 'm.in.’, 'wg’, 'b.’, 'p.’, 'pl.”pn.’, 'pt.’, 'pot.’, 'im.’, 'ds.’, 'kol.’, 'doc.’, 'dyr.’, 'mgr’, 'inż.’, 'prof.’, 'dr’, 'dz.’, 'dn.’, 'bm.’, 'br.’, 'godz.’, 'ul.’, 'al.’, 'os.’, 'woj.’, 'tel.”ks.’, 'bp’, 'bł.’, 'św.’, 'śp.’, 'pw.’);
nvr
aaaa, coś ucięło. :-/
Wysyłam więc na maila, a co z tym zrobisz i w jakim stopniu wykorzystasz, to już zalezy od Ciebie.
Marcin
Nie ucięło. nie dałeś spacji i jest wszystko w jednej linii.
Maciej Moon Maciejowski
Dzięki wielkie za tę wtyczkę! ;-) Działa pięknie.
Michał
Dziękuję, dobrze działa. Jako że czasami tłumaczę jakieś kawałki WP. zdarza mi się korzystać z wtyczki CodeStyling Localization. Oto komunikat od niej na temat Sierotek:
Compatibility: Loading Issue: Author is using load_textdomain instead of load_plugin_textdomain function. This may break behavior of WordPress, because some filters and actions won’t be executed anymore. Please contact the Author about that.
Poprosili. Skontakowałem się. Pozdrawiam serdecznie.
Marcin
Podziękował, przyjrzę się, ale z tego co wiem to w tym przypadku jest to bez znaczenia.
jakubd
Mistrzowski plugin do WordPressa. Zawsze mi tego brakowało na wielu stronach i jak widać niewiele polskich blogów z tego korzysta, bo niska jest świadomość podstaw DTP wśród ludzi. Ale jak widzę jest postęp i są coraz lepsze narzędzia ułatwiające pracę. Tak trzymać! Ja już korzystam :)
Grzesiek
a jak uruchomić Sierotki w dodatkowych polach tekstowych wykreowanych przez pluginy SimpleFields albo CustomFields?
Marcin
Możesz użyć funkcji iworks_orphan, która jako argument używa łańcucha znaków, zwracając go „odsierotkowanego”. Czyli jak wypisujesz pole:
echo iworks_orphan( get_post_meta($post_id, 'nazwa', true) );
Grzesiek
super, dziękuję!
slager
czy da się zrobić tak by ten plugin działał także do tytułów?
Marcin
Włączone w wersji 1.4.2 proszę zaktualizować.
slager
dziękuje, działa :)
Grzegorz
Marcin,
Mam wrażenie, że Twoja sprytna wtyczka przestała działać w najnowszej wersji WordPressa (3.5.1) Wszystko było w porządku. Jednak od pewnego czasu wtyczka przestała przenosić sierotki do nowej linii. Problem ten występuje na wszystkich stronach, które prowadzę.
Pozdrawiam,
Grzegorz
Marcin Pietrzak
Sprawdziłem i działa. Ten blog jest na 3.5.1 i wtyczka działa bez problemów, proszę spojrzeć w źródło strony. Twarde spacje są tam, gdzie być powinny.
Grzegorz
Dzięki za odpowiedź. Wyłączyłem wszystkie wtyczki oprócz Sierotek. Myślałem, że mogą być w konflikcie z innym pluginem. Niestety wtyczka nadal nie zadziałała prawidłowo.
Grzegorz
Witam, pytałem kiedyś jak używać wtyczki z custom fields.
Funkcja 'iworks_orphan()’ działała przed wersją 2.0. Teraz dostaję błąd, że taka metoda nie istnieje…
Marcin Pietrzak
@Grzegorz: no tak, wtyczka została dość mocno przepisana i to … dawno. Dokładniej rzecz ujmując w sierpniu 2012r. Musisz dorobić sobie funkcja, która będzie tworzyła obiekt klasy „iWorks_Orphan” i wywołać metodę „replace”.
Marcin Pietrzak
@Grzegorz: http://iworks.pl/2013/02/26/jak-sierotkami-potraktowac-wlasne-pola/
Rafał
Witam serdecznie i dziękuję za wtyczkę. Jest naprawdę przydatna.
Mam jednak ostatnimi czasy pewien problem, jako że wtyczka powoduje u mnie mały konflikt z motywem którego używam na swoim portalu. Na stronie głównej po użyciu wtyczki pojawiają się „krzaki” w wypisach, po wyłączeniu wtyczki problem ustaje.
Mam nadzieję że mógłbym liczyć na pomoc, jako że jest Pan świetnym fachowcem (upPrev również używam,świetna robota! :) ).
Jeśli byłaby taka możliwość, bardzo prosiłbym o kontakt, wtedy można byłoby odtworzyć problem uruchamiając wtyczkę i być może byłby Pan w stanie powiedzieć co jest nie tak.
Używam WordPressa 3.5.1.
Przy okazji za jakiś czas zapraszam gorąco na GeekCenter.pl – Twoje Centrum Technologii Mobilnych.
Z góry dziękuję za odpowiedź i ewentualną pomoc
Pozdrawiam serdecznie i życzę udanego prowadzenia bloga ;)
Rafał
Marcin Pietrzak
Posłałem maila, bo problem przyznam dość ciekawy i niespotykany.
Bartosz
Czy jest możliwość wykluczenia działania wtyczki tylko na jedno pole tekstowe? Niestety istnieje konflikt z wtyczką jCountdown i gdy wtyczka jest włączona, licznik nie działa.
Marcin Pietrzak
@Bartosz: wyjaśnij proszę, bo nie bardzo rozumiem „na jedno pole tekstowe”. W panelu admina w „Wygląd -> Sierotki” można wybrać gdzie ma działać wtyczka.
Jeżeli to nie jest to o co chodzi, to poproszę o więcej wyjaśnienia.
Kulin
W obecnych wersjach TinyMCE – sierotki czyli „spacja niełamiąca” lub „twarda spacja” jest już na szczęście w standardzie. W sumie nie wyobrażam sobie pracy bez tej opcji.
Sierotki (takie wyrażenie słyszę po raz pierwszy) przy standardowej edycji treści strony wizualnie mi przeszkadzają i staram się je poprawiać. Ja odkąd pamiętam, odkąd pracuję w WordPressie i w edytorze TinyMCE zawsze tę opcję miałem w pakiecie wtyczki.
Marcin Pietrzak
@Kulin: no proszę jak miło. Wg. wiki tylko język Polski i Czeski mają w regułach gramatycznych zakaz wiszących spójników (sierot).
Kulin
W Wikipedii pisze również, że wiszący spójnik, zawieszka, sierota jest błędem wyłącznie typograficznym, nie jest zaś błędem ortograficznym. Chyba to błąd bardziej wizualny i estetyczny :)
Marcin Pietrzak
@Kulin … e? nie bardzo rozumiem o co Ci chodzi, w pierwszym zdaniu jest napisane, że to błąd typograficzny.
Kulin
Rzeczywiście jest napisane. Pogubiłem się :)
marcin
witam,
czy jest szansa na sierotki w wersji standalone, w tym sensie, że możliwe do zastosowania na dowolnej stronie, nie tylko w wordpressie?
Marcin Pietrzak
Tak, można już z tego skorzystać w pliku plugins.svn.wordpress.org/sierotki/tags/2.2/vendor/iworks/orphan.php weź funkcje „replace” i wytnij z niej odwołania do opcji WP.
marcin
znakomicie, dzięki, skorzystam – oczywiście z odsyłaczami i informacjami dziękczynnymi :)