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ą.

Komentarze

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

@krzychu – Nie wiem co zrobiłeś, ale wszystkie wersje są poprawne:

find -name sierotki.php -exec php -l {} \;
No syntax errors detected in ./trunk/sierotki.php
No syntax errors detected in ./tags/1.0.2/sierotki.php
No syntax errors detected in ./tags/1.0.1/sierotki.php
No syntax errors detected in ./tags/1.0/sierotki.php

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.

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 …

Wspaniale że wtyczka się rozwija, chociaż jej częste niewielkie aktualizacje są trochę uciążliwe :) Dzięki za sierotki!

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.

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.

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);

Gratuluję projektu, właśnie zainstalowałem i sprawdza się świetnie! Liczę na dalszy rozwój i wdrażanie uwag użytkowników ;)

@Ł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).

@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 :)

@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.’);

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.

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.

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 :)

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) );

czy da się zrobić tak by ten plugin działał także do tytułów?

[…] z panelu administracyjnego WordPressa. Strona autora wtyczki znajduje się pod tym adresem This entry was posted in Bez kategorii. Bookmark the permalink. ← WordPress – […]

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

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.

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.

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…

@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”.

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ł

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.

@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.

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.

@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).

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 :)

witam,
czy jest szansa na sierotki w wersji standalone, w tym sensie, że możliwe do zastosowania na dowolnej stronie, nie tylko w wordpressie?

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.

znakomicie, dzięki, skorzystam – oczywiście z odsyłaczami i informacjami dziękczynnymi :)

iWorks Marcin Pietrzak

Wykorzystujemy ciasteczka do spersonalizowania treści i reklam, aby oferować funkcje społecznościowe i analizować ruch w naszej witrynie.

Informacje o tym, jak korzystasz z naszej witryny, udostępniamy partnerom społecznościowym, reklamowym i analitycznym. Partnerzy mogą połączyć te informacje z innymi danymi otrzymanymi od Ciebie lub uzyskanymi podczas korzystania z ich usług.

Informacja o tym, w jaki sposób Google przetwarza dane, znajdują się tutaj.