selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

WordPress CMS – Layout in Widget ändern

Autor: Thobie
Datum: 07.07.2014 21:13:42

Moin,

kennt sich jemand mit WordPress aus? Ich mache es kurz, ich will ein Widget für die am häufigsten aufgerufenen Beiträge in meinem Foodblog verwenden. Ich habe beide Widgets probeweise eingebunden, Mitte Seitenleiste rechts.

http://www.nudelheissundhos.de

„Top-Beiträge“: So soll es aussehen.
„Beliebteste Beiträge“: Dieses Widget möchte ich gern verwenden.

Wie ändere ich das Layout des unteren, gewünschten Widgets zu dem des oberen?

Die einzige Antwort, die ich bisher im WordPress-Forum bekam, war, dass ich, um zumindest die Aufzählungspunkte darzustellen, mit

Code:
---------
.JPV_list {
  overflow: visible !important;
}
---------
in der style.css des Themes den bestehenden Code überschreiben kann.

Vermutlich muss ich diese Class in der CSS-Datei des Themes komplett ausschalten/überschreiben? Wie mache ich das?

Die Bullets würde ich also durch diesen Code sichtbar machen. Fraglich ist nur, wie ich die Zahlen in blau und in Klammern bekomme. Wenn ich zumindest zwischen Zahl und „Ansichten“ eine Leerstelle bekäme, könnte ich gerade noch damit leben. Aber ich weiß nicht, wie diese Darstellung generiert wird.

Interessant ist ja, dass alle anderen Plugins in der Seitenleiste das gewünschte Layout der Auflistung haben, nur dieses JetPack-Plugin nicht.

Grüße


Thobie


Re: WordPress CMS – Layout in Widget ändern

Autor: T.Jung
Datum: 08.07.2014 19:31:11

> „Top-Beiträge“: So soll es aussehen.
> „Beliebteste Beiträge“: Dieses Widget möchte ich
> gern verwenden.
>
> Wie ändere ich das Layout des unteren,
> gewünschten Widgets zu dem des oberen?
> (...)
> Fraglich ist nur, wie ich die
> Zahlen in blau und in Klammern bekomme.

Also, das Problem liegt darin, dass das eine Plugin die Zahl als Bestandteil des Links aufführt, also schematisch so:
<a href="...">Linktitel (42)</a>
... während das zweite die Zahl _außerhalb_ des Links setzt:
<a href="...">Linktitel</a> 42Ansichten

Diese Anordnung kannst Du nicht per CSS ändern, da müsstest Du schon in den Quellcode des Plugins selbst eingreifen. Workarounds:
- Verpasse dem Text der Klasse die gleiche Farbe, die auch für Links verwendet wird:
    .JPV_list {
      overflow: visible !important;
      color: #3D97C2 !important;
    }


> Wenn ich
> zumindest zwischen Zahl und „Ansichten“ eine
> Leerstelle bekäme, könnte ich gerade noch damit
> leben. Aber ich weiß nicht, wie diese Darstellung
> generiert wird.

Auch das müsste im Plugin selbst sein -- ich frage mich nur, wie der Autor überhaupt darauf kommt, dort _kein_ Leerzeichen hinzusetzen.
Du könntest Dich schlau machen, wie man die Language-Files für WP-Plugins editiert (ich selbst weiß es auch nicht) und dort dann bei dem Wort "Ansichten" einfach noch ein Leerzeichen davor setzen. Oder Du schreibst den Autoren mal an und schilderst ihm das Problem mit dem fehlenden Leerzeichen...

(Ein paar Minuten später:)
Hmmm, das ist doch das Jetpack Post Views Plugin, oder?
Ich habe mir das gerade mal schnell runtergeladen, da sehe ich nirgendwo eine deutsche Language-Datei… hast Du vielleicht in der jetpack-post-views.php selbst rumgefummelt und beim Ersetzen des Wortes ' views' durch 'Ansichten'  das Leerzeichen vergessen? Und wenn Du das nicht warst, woher kommt die Übersetzung?

Gruß,
Tobias Jung



Re: WordPress CMS – Layout in Widget ändern

Autor: Thobie
Datum: 08.07.2014 20:00:55

Moin, Tobias,

> Also, das Problem liegt darin, dass das eine Plugin die Zahl als Bestandteil des Links aufführt, also schematisch so:
> <a href="...">Linktitel (42)</a>

> ... während das zweite die Zahl _außerhalb_ des Links setzt:
> <a href="...">Linktitel</a>42Ansichten

> Diese Anordnung kannst Du nicht per CSS ändern, da müsstest Du schon in den Quellcode des Plugins selbst eingreifen.

Workaround:
> - Verpasse dem Text der Klasse die gleiche Farbe, die auch für Links verwendet wird:
>     .JPV_list {
> overflow: visible !important;
> color: #3D97C2 !important;
>     }

das funktioniert nur bedingt, denn dann wird auch das Aufzählungszeichen blau, was ich nicht möchte.

> Auch das müsste im Plugin selbst sein – ich frage mich nur, wie der Autor überhaupt darauf kommt, dort _kein_ Leerzeichen hinzusetzen. Du könntest Dich schlau machen, wie man die Language-Files für WP-Plugins editiert (ich selbst weiß es auch nicht) und dort dann bei dem Wort "Ansichten" einfach noch ein Leerzeichen davor setzen. Oder Du schreibst den Autoren mal an und schilderst ihm das Problem mit dem fehlenden Leerzeichen …

> Ich habe mir das gerade mal schnell runtergeladen, da sehe ich nirgendwo eine deutsche Language-Datei … hast Du vielleicht in der jetpack-post-views.php selbst rumgefummelt und beim Ersetzen des Wortes 'views' durch 'Ansichten' das Leerzeichen vergessen? Und wenn Du das nicht warst, woher kommt die Übersetzung?

Nein, ich habe selbst nichts geändert. Es gibt für das ganze JetPack-Plugin eine deutsche Übersetzung, die anscheinend auch für die most viewed post greift, denn wo sonst käme das deutsche Wort her?

Ich habe den englischen Autor des Plugins und den deutschen der Übersetzungsdateien angeschrieben, aber bisher keine Antwort erhalten.

Ich werde die deutschen Übersetzungsdateien nach dem Wort "Ansichten" durchsuchen, wenn möglich, ein Leerzeichen davor setzen und schauen, ob es etwas bewirkt.

Grüße

Thobie




Re: WordPress CMS – Layout in Widget ändern

Autor: Thobie
Datum: 08.07.2014 22:33:38

Moin,

jetzt bin ich doch etwas verwrirt.

Ich habe die Dateien der JeptPack-Überetzung vom Server heruntergealde. In einem Ordner ist ein separater Ordner "jetpack-post-views". In diesem sind in zwei Ordnern mit einer Du- und einer Sie-Version jeweils zwei Dateien, die foglendes enthalten:

# @ jetpack-post-views
#: jetpack-post-views.php:173 jetpack-post-views.php:325
msgid "Total Views"
msgstr "Gesamte Aufufe"

# @ jetpack-post-views
#: jetpack-post-views.php:184 jetpack-post-views.php:584
#: jetpack-post-views.php:1023
msgid " views"
msgstr "Ansichten"

# @ jetpack-post-views
#: jetpack-post-views.php:217
msgid "Settings"
msgstr "Einstellungen"

# @ jetpack-post-views
#: jetpack-post-views.php:328
msgid "Display total views for each post on the "All Posts" page."
msgstr ""
"Gesamte Zahl der Aufrufe/ Ansichten für jeden Beitrag auf der "Alle Beiträge"
"" Seite anzeigen."

Man beachte die drei (Schreib-)Fehler bei "Aufufe", "Ansichten" und "Aufrufe/ Ansichten". Diese Fehler kann ich auch alle im Backend feststellen.

Ich habe nun diese drei Fehler korrigiert – hier speziell soll "views" durch "Ansichten" ersetzt werden – und die Dateien auf den Server hochgeladen. Korrekte Pluginübersetzung, korrekter Ordner. Und … es ändert sich nichts. Alle drei Fehler sind wie bisher vorhanden.

Ich habe JetPack deaktiviert und wieder aktiviert. Ich habe die Übersetzungsdatei deaktiviert und aktiviert – es ändert sich wie erwartet die Darstellung von "x.xxxAnsichten" in "x.xxx views" und leider auch umgekehrt wieder. Ich habe mich aus dem Blog abgemeldet und wieder angemeldet. Nichts. Hat so ein WordPress CMS einen Cache?

Grüße



Thobie



Re: WordPress CMS – Layout in Widget ändern

Autor: T.Jung
Datum: 09.07.2014 11:44:12

> # @ jetpack-post-views
> #: jetpack-post-views.php:184
> jetpack-post-views.php:584
> #: jetpack-post-views.php:1023
> msgid " views"
> msgstr "Ansichten"

Das ist auf jeden Fall der richtige Block, die fragliche Stelle ist tatsächlich in der jetpack-post-views.php in Zeile 1023.


> Ich habe nun diese drei Fehler korrigiert – hier
> speziell soll "views" durch "Ansichten" ersetzt
> werden – und die Dateien auf den Server
> hochgeladen. Korrekte Pluginübersetzung,
> korrekter Ordner. Und … es ändert sich nichts.
> Alle drei Fehler sind wie bisher vorhanden.
>
> Ich habe JetPack deaktiviert und wieder
> aktiviert. Ich habe die Übersetzungsdatei
> deaktiviert und aktiviert – es ändert sich wie
> erwartet die Darstellung von "x.xxxAnsichten" in
> "x.xxx views" und leider auch umgekehrt wieder.
> Ich habe mich aus dem Blog abgemeldet und wieder
> angemeldet. Nichts. Hat so ein WordPress CMS
> einen Cache?

Ich habe gerade mal in meine WordPress-Installation reingeguckt, zumindest finde ich da nichts, was nach einem Cache für derartige Texte aussieht. Da ich noch nie den Bedarf hatte, eine Plugin-Sprachdatei ändern zu müssen, habe ich damit auch überhaupt keine Erfahrung und kann mir auch nicht vorstellen, _was_ da schief geht.

Jetzt habe ich nur noch zwei Vorschläge:

1.) JetPack nicht nur deaktivieren, sondern einmal komplett aus Deiner WP-Installation entfernen und anschließend unter Verwendung der von Dir geänderten Sprachdatei neu installieren.

2) Wenn das nichts bringt, könntest Du noch die Datei jetpack-post-views.php selbst bearbeiten.
Das hier die die besagte Zeile 1023 im Original:
==========
echo " - ".number_format_i18n( $post['views'] ? $post['views'] : 0 ).__( ' views', 'jetpack-post-views' );
==========

Diese dann wie folgt editieren:
==========
echo " - ".number_format_i18n( $post['views'] ? $post['views'] : 0 )." ".__( ' views', 'jetpack-post-views' );
==========

Vorteil:
Das ist in _meinen_ Augen (und darüber kann man sicher streiten) sogar die sauberere Lösung: Ein für alle Sprache notwendiges, führendes Leerzeichen gehört m.E. nicht in die Sprachdatei; vor allem nicht, wenn wie hier der Gesamt-String ohnehin innerhalb des echo-Befehls zusammengesetzt wird.

Der Nachteil liegt auf der Hand:
Diese Änderung müsstest nach jedem Update des Plugins erneut durchführen.
Zumindest bis der Autor sich meiner Meinung, dass das Leerzeichen an diese Stelle gehört, anschließt. ;-)

Gruß,
Tobias Jung



Re: WordPress CMS – Layout in Widget ändern

Autor: Thobie
Datum: 09.07.2014 15:38:30

Moin, Tobias

> Ich habe gerade mal in meine WordPress-Installation reingeguckt, zumindest finde ich da nichts, was nach einem Cache für derartige Texte aussieht. Da ich noch nie den Bedarf hatte, eine Plugin-Sprachdatei ändern zu müssen, habe ich damit auch überhaupt keine Erfahrung und kann mir auch nicht vorstellen, _was_ da schief geht.

Ich habe gestern nochmal recherchiert, weil es mir komisch vorkam, dass die Änderungen nicht übernommen werden. Ich kenne mich beim Programmieren nur sehr wenig aus, fand aber, dass bei einer Übersetzung aus einer .pot-Datei (Template mit den zu übersetzenden Texten) vom Übersetzer eine .po-Datei mit den Übersetzungen (msgid, msgstr) erstellt wird und diese dann mit einem Programm in eine .mo-Datei umgewandelt wird. Erst auf diese Datei soll anscheinend das Plugin zugreifen?

> Jetzt habe ich nur noch zwei Vorschläge:

Okay, die probiere ich beide aus.

Danke schon einmal.

Grüße


Thobie



Re: WordPress CMS – Layout in Widget ändern

Autor: Thobie
Datum: 09.07.2014 17:29:29

Moin, Tobias,

jetzt haben wir tatsächlich ein Phänomen:

1. JetPack-Übersetzungs-Plugin aus dem Plugin-Ordner gezogen, somit dekativiert und wieder zurückgezogen und aktiviert. Fehler bleiben.

2. In der PHP-Datei die entsprechende Zeile durch diese von Dir geschriebene Zeile ersetzt, gespeichert, auf den Server geladen. Fehler bleibt! Nochmals Plugin- und Übersetzungs-Ordner aus dem Plugin-Ordern gezogen, wieder zurück. Keine Änderung.

Grüße


Thobie



Re: WordPress CMS – Layout in Widget ändern

Autor: T.Jung
Datum: 09.07.2014 17:56:26

> 2. In der PHP-Datei die entsprechende Zeile durch
> diese von Dir geschriebene Zeile ersetzt,
> gespeichert, auf den Server geladen.
> (...)
> Keine Änderung.

Sehr seltsam -- das kann ich mir so _überhaupt_nicht_ erklären.

Noch zwei Versuche:
1. Was passiert, wenn Du statt des normalen Leerzeichens ein festes Leerzeichen reinsetzt?
Also:
=====
echo " - ".number_format_i18n( $post['views'] ? $post['views'] : 0 )."&-n-b-s-p;".__( ' views', 'jetpack-post-views' );
=====

WICHTIG: Hier musst Du noch die Bindestriche beim &-n-b-s-p entfernen, die hab ich nur reingemacht, weil die Forumssoftware das sonst falsch darstellen würde.


2. Wenn auch das nicht funktioniert, dann mal nur zum Test:
=====
echo " - ".number_format_i18n( $post['views'] ? $post['views'] : 0 )."XXXX".__( ' views', 'jetpack-post-views' );
=====

Wie gesagt, nur zum Test:
Eigentlich müssten die vier X dann zu lesen sein. Wenn auch das nicht der Fall ist, verstehe ich gar nichts mehr. ;-)  

Gruß,
Tobias



Re: WordPress CMS – Layout in Widget ändern

Autor: Thobie
Datum: 09.07.2014 18:02:46

Moin, Tobias,

jetzt haben wir tatsächlich ein Phänomen:

1. JetPack-Übersetzungs-Plugin aus dem Plugin-Ordner gezogen, somit dekativiert und wieder zurückgezogen und aktiviert. Fehler bleiben.

2. In der PHP-Datei die entsprechende Zeile durch diese von Dir geschriebene Zeile ersetzt, gespeichert, auf den Server geladen. Fehler bleibt! Nochmals Plugin- und Übersetzungs-Ordner aus dem Plugin-Ordern gezogen, wieder zurück. Keine Änderung.

Grüße


Thobie



Re: WordPress CMS – Layout in Widget ändern

Autor: Thobie
Datum: 09.07.2014 18:08:38

Moin, Tobias,

in beiden Fällen passiert nichts.

Grüße



Thomas



Re: WordPress CMS – Layout in Widget ändern

Autor: T.Jung
Datum: 09.07.2014 18:23:00

> in beiden Fällen passiert nichts.

Dann kann ich Dir nur noch raten, die jetpack-post-views.php nach anderen Stellen zu durchsuchen, die für die Ausgabe verantwortlich sein könnte, und dort eine entsprechende Änderung durchzuführen.
Möglicherweise habe ich Dich doch in die falsche Zeile geschickt. :-/

Gruß,
Tobias



Re: WordPress CMS – Layout in Widget ändern

Autor: Thobie
Datum: 09.07.2014 18:40:19

Moin, Tobias,

diese Stelle habe ich noch gefunden:

/* SHOW THE TOTAL NUMBER OF VIEWS FOR A POST */
    function add_post_views_column_content( $column_name, $post_ID ) {
        if ($column_name == 'post_views') {
            $views = get_post_meta( $post_ID, "jetpack-post-views", true );

            if ( $views ) {
                echo number_format_i18n( $views ).__( ' views', 'jetpack-post-views' );

Eine Änderung erbrachte auch nichts.

Ich kenne mich mit PHP nicht aus, daher kann ich nicht einfach so im Quellcode herumarbeiten.

Grüße


Thobie



Re: WordPress CMS – Layout in Widget ändern

Autor: Thobie
Datum: 09.07.2014 19:28:57

Moin, Tobias,

Lösung des Problems auf diesem Wege: Der Entwickler der deutschen Übersetzungen wird ein Patch zur Verfügung stellen. Wann genau, kann er noch nicht sagen.

Ich muss mich eben etwas gedulden.

Grüße


Thobie