Frage von horst9999, 23

Tausender Trennzeichen in Wordpress?

Ich arbeite mit dem Plugin WP Statistic in Wordpress und zeige diese mit folgendem Shortcode an:

[wpstatistics stat=visits time=total] hits

Das Ergebnis lautet z.B. 12345 hits

Nun möchte ich aber, das 12.345 hits angezeigt werden, die Zahl also mit Tausender-Trennzeichen dargestellt wird

Hat jemand einen Lösungsvorschlag?

Antwort
von MarcusCJ, 12

Technisch lässt sich dieses Problem auf zwei Arten lösen:

Mit PHP, oder mit Javascript.
Der Einsatz von PHP würde das Plugin vermutlich unupdatebar machen.

Für Javascript ist es wichtig, dass der Shortcode in einem HTML-Element mit einmalig vorkommender ID steht. Ich wähle für das Beispiel "hit-counter"

<span id="hit-counter">
[wpstatistics stat=visits time=total]
</span>
hits



Der Folgende Code arbeitet mit jQuery und macht folgendes:
Scrheibe den inhalt des spans mit der id "hit-counter" in die variable hit.
Erstelle aus dem String einen Array hitargs" mit je einem Zeichen.
Definiere unseren Output mit der Variable "output".

For-Schleife:
Setze den Array von hinten nach vorne wieder zu einem String zusammen. Wenn die Laufvariable i modulo 3 gleich null ist, füge einen Punkt hinzu, es sei denn, es kommt keine weitere tausender-einheit mehr.

Füge den Wert von "output" wieder in den span id="hit-counter" ein. Code kommt als Antwort

Kommentar von MarcusCJ ,
$(function(){
var hits = $("#hit-counter").text();
var hitargs = hits.split("");
var output="";
for(i=hitargs.length-1;i>=0;i--){
console.log(hitargs[i]);
output=hitargs[i]+""+output;
if(i%3==0 && i>0){
output="."+output;
}
}
console.log(output);
$("#hit-counter").text(output);
});
Antwort
von horst9999, 4

@marcusCJ

Zunächst vielen Dank für Deine Antwort, bin allerdings erst jetzt dazu gekommen, es umzusetzen:

Wenn ich allerdings den Code ($(function.....) in die functions.php einfüge, erscheint nur noch ein weißer Bildschirm und auf der Webseite auch!?

Muß ich den code an einer anderen Stelle einfügen? Oder ist da ein Fehler drinn, dass es irgendwie ne Unendlichschleife oder so gibt?

Keine passende Antwort gefunden?

Fragen Sie die Community