Archiv der Kategorie: Allgemein

Linux Mint Cinnamon: Software die ich mir installiere

gimpicon  Den GIMP haben wir ja bereits vor ein paar Tagen installiert, über das Terminal mit Kommandozeile. War nicht weiter schwierig und hat gut geklappt. Ich hab inzwischen schon ausführlich damit gearbeitet, läuft stabil.

vlciconVLC  Media Player hab ich mir aus der Anwendungsverwaltung geholt, das ging fix und ich musste keine Kommandozeile benutzen. Erster Test: läuft einwandfrei.

audacityiconAudacity Audio Editor, hab ich nur mal kurz angetestet, scheint einwandfrei zu funktionieren. Nützlich zum digitalisieren von analogen Schallplatten

bleachbiticonBleachbit entfernt überflüssige Dateien auf der Festplatte, so ähnlich wie CCleaner.https://www.bleachbit.org/

baseicon LibreOffice base, das Datenbankprogramm. Schau ich mir später mal genauer an, bin nur kurz durch den Assistenten zur Erstellung einer neuen Datenbank gesaust, funkt.

scribusiconScribus, Open Source Desktop Publishing. Es gibt auch noch ein zusätzliches Vorlagen Paket, ich habs mir aber noch nicht angeschaut. Scribus kann PDFs einlesen, bearbeiten  und auch wieder schreiben! Ein sehr nützliches Feature!

SANE-logo  XSane, das einzige halbwegs brauchbare Scanprogramm, das ich bisher gefunden habe. Etwas veraltete Oberfläche, gewühnungsbedürftige Bedienung. Muss ich mir nochmal näher anschauen. Nachtrag: vergisses, Skanlite funktioniert viel besser.

skanlite icon Skanlite, das beste und modernste Scanprogramm unter Linux, das ich bislang gefunden habe! Deutsches Handbuch: https://docs.kde.org/trunk5/de/skanlite/skanlite/index.html

Um vernünftig mit Skanlite arbeiten zu können, muss man die automatische Bildausschnitterkennung auschalten, die steckt unter Einrichten. Ich hab gedacht ich krieg nen Vogel bis ich das herausgefunden haben, das Programm hat alles eingescannt nur nicht meine Auswahl! Aber jetzt funktionierts hervorragend.

ommm Dranbleiben lohnt sich fast immer!

rescribeiconRescribe OCR aus der Anwendungsverwaltung .
Homepage: https://rescribe.xyz/
Erkennt Text in verschiedenen Bildformaten und in PDFs, wobei letzteres eigentlich unnütz ist, da Scribus pdf einwandfrei bearbeiten kann.
Unbedingt das Deutsche Sprachpaket installieren! Dann gibt es auch gute bis sehr gute Ergebnisse bei der Texterkennung. Anleitung und Download hier:
https://rescribe.xyz/rescribe/trainings.html

Anmerkung zu OCR unter Linux: Wer gern pfriemelt und programmiert, kann sich auch  direkt mit Tesseract amüsieren, der bekanntenten OCR-Engine, auf der auch Rescribe basiert. Ich überlasse das neidlos der nächsten Generation und benutze lieber eine grafische Oberfläche..

 

 

Linux Mint Cinnamon: Tipps und Tricks zum Einstieg

Hier kommen vermischte Tipps und Tricks hin, die mir so der Reihe nach aufgefallen sind. Ebenfalls in dieser Liste: Bugs und Features, und Workarounds. Ohne Anspruch auf Vollständigkeit-

Fenster Scrollbalken rechts breiter machen

In der Grundeinstellung sind in Cinnamon die Scrollbalken nur ein paar wenige Pixel breit, so dass man mit der Maus schon sehr genau zielen muss, und das ist ein Gefussel ohne Ende.. Es gibt zwar unter Einstellungen/Fenster/Verhalten einen Regler für die Fensterbreite, aber selbst wenn man den auf höchste Einstellung stellt, sind die Scrollbalken nur wenige mm breit. Das finde ich unschön.

So schnell gebe ich nicht auf. Eine Runde googlen hat folgendes ergeben:
Unter Einstellungen/Themen/Erweiterte Einstellungen/Einstellungen kann man die aktuelle Bildlaufleisten des Themas überschreiben, ich hab sie auf 30 px gestellt. Das ist ein bisschen besser, aber noch nicht optimal – das sind auch keine 30 px, diese Einstellung ist etwas buggy. Übrigens nicht ins Bockshorn jagen lassen, die Einstellung greift nicht auf bereits laufende Anwendungen, man muss sie mal neu starten.

Update: die Scrollbalken sind in anderen Anwendungen breiter,  nur im Firefox sind und bleiben sie so fummelig dünn. Ich recherchiere weiter.

Ah ja, hier bin ich fündig geworden:

https://www.anleitung24.com/firefox-100-scrollbars-bildlaufleisten-konfigurieren-anleitung.html

Aber fragen sie mich nicht welche Einstellung jetzt qwirklich geholfen hat, so genau kann ich das nicht mehr nachvollziehen!. Da das aber ein reines Firefox-Problem ist, lass ich es jetzt mal gut sein.

Tolle Seite mit Tastaturkürzeln

https://www.decocode.de/?linux-tastaturbefehle

Eine selbsterklärende überaus nützliche Liste! Ich habs mir gleich in die Favoriten gelegt!

Aktuelles Fenster schließen ohne Mausgefummel

Alt+f4

Braucht man ständig!

Konfiguration und Wartung, inc. Optionen wenns mal abgestürzt sein sollte

Sehr informativ und ausführlich!

https://www.decocode.de/?linux-konfiguration_und_wartung

Noch mehr von decocode.de: das Linux Dateisystem

Ausführlich zum Nachlesen, was wo abgelegt wird

https://www.decocode.de/?linux-dateisystem

Baobab Festplattenanalyse

Kann man immer wieder mal brauchen

defrag

Ist unter Linux nicht nötig.

Anti Viren Programme

braucht man auch nicht. Nein echt!

Firewall

Keine Aktion nötig.

Wenn Sie ein normaler Benutzer sind, sind Sie mit dieser Einstellung sicher (Status=Ein, Ankommend=Verweigern, Ausgehend=Erlauben).

Denken Sie jedoch daran, eine Zulassungsregel für Ihre P2P-Anwendungen zu erstellen.

Zubehör/Laufwerke

nützliches Tool zum überprüfen der Hardware.

Linux für Poweruser: nützliche Tastenkürzel

Ich bin mit der Tastatur x-mal schneller als mit der Maus und arbeite  gerne mit Tastenkürzeln. Die meisten Windows-Shortcuts gibt es auch unter Linux, da muss man nicht viel Neues lernen.  Ich schreibe sie hier mal in loser Folge auf, evtl. sortiere ich sie später nochmal, wenn es viele werden.

strg+a ganzen Text bzw alles markieren

alt+f4 aktuelles Fenster schliessen

strg+pos1 zum Textanfang springen

strg+ende zum Textende springen

Druck, fn+Druck, alt+Druck Screenshot ganzer Bildschirm

alt+Tab wechselt zwischen aktiven Anwendungen

Windows-Taste öffnet das Startmenü

strg+z letzte Aktion rückgängig

strg+c kopieren

strg+v, shift+strg+v einfügen

Linux Mint Cinnamon, der zweite Eindruck: es wird immer besser!

Der Startbildschirm kommt sehr aufgeräumt daher, es kommt ein Willkommen-Assistent der sehr hilfreich und informativ ist, ich empfehle es neuen Linux-Nutzern wirklich, sich da mal durchzuhangeln und das System besser kennenzulernen. Deswegen spare ich mir euch eine eigene Dokumentation über was wo zu finden ist, das kann sich jeder selbst erarbeiten.

willkommen

Da zeige ich euch lieber, was mich an Cinnamon gleich überzeugt hat: klickt mal auf dieses Symbol links unten:

mint icon

Tadaa! Darf ich vorstellen, das Startmenü!

startmenü

Ist das nicht eine Augenweide für alte Windows-User? Aufgeräumt und sinnvoll gruppiert, alfabetisch geordnet und mit Suchfunktion, da hat man doch gleich den Überblick und fühlt sich wohl.

Links die Favoritenleiste hat mich am Anfang etwas irritiert, weil bei den Icons kein Hovertext auftaucht, wenn man mit der Maus drüberfährt. Doch tut er schon, allerdings rechts unten im Fenster, wo ich ihn zuerst nicht gesehen habe. Hier im Bild der Deutlichkeit rot umrandet:

favoriten text

Was ich euch auch noch wärmstens ans Herz legen möchte: die Anwendungsverwaltung. Die braucht zwar einen Moment, bis alles geladen ist, aber dann: der reine Softwarehimmel! Und alles Public domain und kostenlos! Ich hab mir gleich mindestens drei Anwendungen rausgesucht, die ich installieren möchte! Dolle Sache, ehrlich.

anwendungsverwaltung

So, damit dürftet ihr erstmal eine Weile beschäftigt sein. Ich geh mal Apps installieren und melde mich später wieder!

Linux Mint Cinnamon – Liebe auf den ersten Blick mit Startschwierigkeiten

Ich geb ja zu, ich bin ein Augenmensch. Ohne die Funktionalität erstmal gründlcih getestet zu haben, hab ich mich auf Anhieb in die Edition Linux MInt Cinnamon verguckt.

Nur mal kurz zur Installation: wenn man vom Stick bootet, kann man im Startmenü auch die Installation auf Festplatte anwählen. Nehmen sie sich ein Stündchen Zeit dafür, das dauert alles ein Weilchen, ganz wie wir es von Windows gewöhnt sind 😉 Bei der ersten Anmeldung muss man dann noch Benutzernamen und Kennwort sowie das Gebietsschema eingeben, dann kanns losgehen. Man wird von einem aufgeräumten Desktop und einem Willkommen-Assistenten begrüßt, der einen durch einige grundlegende Themen führt. Ich hab ihn weggeklickt und erst mal ein anderes HIntergrundbild installiert (rechte Maustaste auf den Desktop…)

Dann hab ich mich auf die Suche gemacht, ein paar Werkzeuge brauche ich immer für die Dokumentation. Screenshots z. B. , fn+Drucktaste kopiert den gesamten Bildschirm wahlweise in die Zwischenablage oder als Datei. Wie man nur das aktuelle Fenster kopiert, hab ich noch nicht herausgefunden.. Als Schreibprogramm nehme  ich den Writer, der kann auch Bilder. Dabei fällt mir auf: die Menüs sind leider teilweise in Englisch. Das hätte ich gern Deutsch. Ich geh mal suchen. Hach ja – sie konnten zusammen nicht kommen! 😉

Fehlende Sprachunterstuetzung nachinstallieren – wiki.linuxmintusers.de:
https://wiki.linuxmintusers.de/index.php?title=Fehlende_Sprachunterstuetzung_nachinstallieren

Hat leider nicht funktioniert.

Alternativ kann man sich auch die deutschsprachigen Linux Mint-ISO’s herunterladen, die immer kurz nach Veröffentlichung einer neuen Linux Mint-Version verfügbar sind. Diese findet man in den entsprechenden Threads oder auf der LinuxMintUsers-Startseite, in der rechten Leiste unter „Release Notes“.

Leider ist die Seite total veraltet. Ich geh mal woanders suchen. Warum der Aufwand, mir ist es doch eigentlich wumpe ob ich deutsch oder englisch arbeite… na, das mach ich alles nur für euch, damit ich eine saubere Doku schreiben kann. Eine deutsche Bedienoberfläche gehört da schon dazu.

Bei chip.de bin ich fündig geworden und lade mir jetzt die 22.1 herunter, hoffentlich in Deutsch.

https://www.chip.de/downloads/Linux-Mint-Xia-Cinnamon-64-Bit_39460086.html

So, ISO-Datei vom Chip-Server runtergeladen, hat sowas wie 10 Minuten gedauert. Auf dem Cinnamon-Laptop steckt unter USB-Abbilderstellung das Brennprogramm, läuft gerade, dauert ein paar Minuten. Nicht ganz fünf Minuten hat er gebraucht. Beim Runterfahren gab es noch eine Meldung, dass einige Prozesse noch nicht beendet sind, ich hab ignorieren angeklickt und trotzdem runtergefahren. Ich installier dann mal wieder, see ya later!

So, Installation erfolgreich, jetzt hab ich auch deutsche Menüs. Jetzt gehts auf, aber dafür gibts einen neuen Beitrag!

 

Die große Gegenüberstellung: Linux vs. Windows Software

Ich hab mal allle Programme zusammengetragen, die ich unter Windows zumindest gelegentlich, meist aber sehr oft nutze. Da ist eine ganz schöne Latte zusammengekommen. Ich habe die ganze letzte Woche dazu verwendet, mir die Linux- Alternativen zu den Windowsprogrammen zusammenzusuchen. Ich habe ausschließlich OpenSource/Public Domain gelistet, da war die Auswahl erfreulich groß. Hier kommt mal eine Übersicht als Tabelle:

 

Windows 10 Ubuntu 22.04 Kompatibilität  1-6 Getestet
Office LibreOffice

Kann docx, xlsx lesen und schreiben

Word Writer 2 Sehr gut kompatibel, IVZ, Formatvorlagen, Nummerrierungen, Bilder mit Beschriftungen Ausführlich, Härtetest mit Buch
Excel Calc 2 Kurztest, Zellenformatierungen OK
Math Formeleditor
Acess Base 4

(Abzug wg. Programmierbarkeit)

Assistenten zur Tabellenerstellung ausführlich vorhanden
Outlook Mozilla Thunderbird 2 Praktisch im Einsatz
Publisher Scribus, Draw 3 Ausführlich getestet mit komplexer Broschüre, sowohl als pub als auch pdf, beide Male Nacharbeit nötig.
Powerpoint impress 2 Nicht getestet
DTP Scribus Scribus 1 Kurztest OK
Bildbearbeitung Gimp Gimp 1 kurztestOK
Internet Chrome, Explorer Mozilla Firefox 1 Praktisch im Einsatz
Filezilla Filezilla 1 Kurztest OK
Entwicklertools Xampp Xampp 1 incl php und MariaDB Kurztest OK
Notepad++ Geany 3 Hat nicht so viele Funktionen.
Editor Textbearbeitung 1 Kurztest OK
Multimedia VLC MediaPlayer VLC 1 Kurztest OK
Movie Maker OpenShot Nicht getestet, System zu schwach
Acrobat Reader Scribus,PDFViewer 1 Kurztest OK
Sonstige Epson Scan Simple-Scan (vorinstalliert)

Xsane

5 hakelig zu bedienen, veraltete Software
Team Viewer Team Viewer 1 Kurztest OK
Skype Skype 1 Kurztest OK
CCleaner BleachBit ? (keineRegistry) Nicht getestet

Ich habe für alle Windows-Programme – für ALLE! – brauchbare Alternativen auf Linux gefuden, und die Mehrzahl schneidet in Sachen Kompatibilität gut bis sehr gut ab. Einzig bei der Scanner-Software habe ich noch nichts wirklich brauchbares gefunden, wenn man aber nur einfache Seitenscans oder Ausschitte als jpg oder pdf benötigt, kann man mit Simple-Scan ganz gut Leben.

Auf zu neuen Ufern: Linux statt Microsoft Windows

Long time no see, liebe Gemeinde. Ich hab auch lange nichts Programmier- und Entwicklungstechnisches mehr gemacht, meine Homepage steht ja schon lange soweit, da hab ich mich mehr auf die Anwenderseite von WordPress verlegt und meine diversen Shops und Blogs gepflegt.

Jetzt wirds aber an der Zeit, was ganz Neues zu tun! Ich musste ja vor zwei Jahren in einen neuen Laptop investieren, weil der Alte kaputtgegangen war: Grafikkarte im Eimer, irreparabel.

Und jetzt kommt Microsoft und stellt im Herbst die Unterstützung für Windows 10 ein. Mein Laptop ist aber nicht Windows-11-tauglich, und ich will mir nicht schon wieder einen neuen Rechner kaufen.

Da linst man mal über den Tellerrand, und stellt fest dass Linux seit der letzten Begegnung vor 10, 15 Jahren sich ganz schön herausgewachsen hat. Es gibt ein wohlsortiertes Sortiment von Betriebssystemversionen für unterschiedliche Anforderungen, es gibt ganz fantastische Open Source/Public Domain Software, es gibt zu alllem und jedem Supportforen, es gibt Kompatibilität für alle MS Office Programme – ich brauch keinen neuen Rechner, ich brauch nur ein neues Betriebssystem.

Mein bester Freund hat mir einen wunderbaren mittelalten Laptop mit vorinstalliertem Linux Ubuntu drauf zur Verfügung gestellt, und ich teste seit ein paar Tagen dass die Schwarte knackt.

Ich teste verschiedene Linux-Versionen, und alle Alternativen zu Windows-10 Software, die ich kriegen kann. Es sieht gut aus: niemand muss sich mehr von MIcrosoft abhängig machen!

Es wird spannend, ich werde hier en Detail berichten. Freut euch auf viele spannende neue Beiträge!

Stichwortverzeichnis Negativliste: wir basteln uns einen Tabelleneditor

Ich bin mir ziemlich sicher dass ich sowas in der Art schon mal gemacht habe, aber ich finde es nicht mehr. Na ja, das übt und ist eine hübsche kleine Fingerübung. Ich mach mal einen kurzen PAP:

  • Die Tabelle für die Negativliste wird beim Setup des Stichwort-Plugins mit angelegt und mit einigen wenigen Beispieleinträgen befüllt. Jedenfalls gehe ich davon aus, dass sie schon existiert.
  • Es gibt einen neuen Admin-Menüpunkt Negativliste bearbeiten. Hier wird die existierende Liste tabellarisch angezeigt.
  • Es gibt bei jedem Datensatz einen Button „Löschen“ (mit Rückfrage)
  • Es gibt unterhalb der Tabelle einen Button „Neues Wort eintragen“
  • Die Buttons machen jeweils eine Unterseite auf, auf der die gewählte Aktion nochmal bestätigt wird.

Das wars eigentlich schon. Dann wollen wir mal. Zuerst kommen die Einträge für das Admin-Menü:

add_action('admin_menu', 'negativliste_plugin_setup_menu');

function negativliste_plugin_setup_menu(){
add_menu_page( 'Negativliste', 'Negativliste bearbeiten', 'manage_options', 'negativliste', 'negativliste_init' );
add_submenu_page('Negativliste', 'Eintragen', 'Eintragen', 'manage_options', 'eintragen', 'eintragen_function');
add_submenu_page('Negativliste', 'Loeschen', 'Loeschen', 'manage_options', 'loeschen', 'loeschen_function');
}

Schauen wir uns als erstes mal die Funktion negativliste_init an. Zuerst wird gecheckt, ob die Tabelle negativliste schon vorhanden ist:

//Überprüfen ob Tabelle schon existiert
$table_exists = $wpdb->get_var( "SHOW TABLES LIKE 'negativliste'" ); 

if ($table_exists == "") {
echo "Tabelle negativliste existiert noch nicht";
... (hier kann die Tabelle neu erstellt werden)


Da muss ich nochmal ran, eigentlich sollte die Tabelle beim Initialisieren des Plugins Stichworttabelle mit angelegt werden. Hier nur mal Interessehalber der Code zum Erstellen:

//Begin function tabelle_erzeugen - legt die Tabelle negativliste mit einem Feld "wort" an
function tabelle_erzeugen(){

global $wpdb;

$charset_collate = $wpdb->get_charset_collate();

$sql = "CREATE TABLE negativliste (
wort text
) $charset_collate;";

require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );

} //End function tabelle_erzeugen

Interessant wirds im Else-Zweig der Funktion, da  kommt die Datenbankabfrage und der Aufbau der Tabelle zur Anzeige. Ich schau erst mal nach, ob die Tabelle überhaupt Datensätze hat und baue die Tabelle nur auf, wenn es mehr als 0 Datensätze sind:

function tabelle_bearbeiten(){

global $wpdb;
//Datensätze zählen & Ausgabe Anzahl
$count_query = "select count(*) from negativliste";
$num = $wpdb->get_var($count_query);
echo $num."&nbsp Einträge gefunden</br>";

if ($count_query <> 0) {

$anzeige_query = $wpdb->get_results("SELECT wort FROM negativliste ORDER BY wort");
...

So wird der Tabellenhead zusammengebaut:

echo "<table border='1' cellpadding='5'>
<tr>
<th>Wort</th>
<th>delete</th>
</tr>";

Danach steppe ich durch alle gefundenen Datensätze durch und baue ein Formular mit einem Löschen-Button zusammen. Der Button ruft die Unterseite loeschen auf und gibt als Parameter das aktuelle Wort mit.

echo "<form method='post'>";
foreach ($anzeige_query as $dsatz) {
echo "<tr>";
$id = $dsatz->wort;

echo "<td>" . $dsatz->wort . "</td>";
echo "</td>" .
"<td><input type='submit' name='löschen' formaction='admin.php?page=loeschen&aktuell=".$id."' value='löschen'></td>" .

"</tr>";
}// ende von foreach dsatz

Jetzt kommt nur noch ein Link zur der Seite auf der man einen neuen Datensatz eintragen kann, dann wars das auch schon:

echo "<p><input type='submit' name='eintragen' formaction='admin.php?page=eintragen' value='Neues Wort eintragen'></p></form> ";

Jetzt fehlen noch die Funktionen zum Eintragen eines neuen Datensatzes und zum Löschen des gewählten Datensatzes. Zuerst die zum Eintragen:

Zuerst wird ein kleines Formular aufgebaut: es gibt ein Textfeld, in das man das neue Wort eintragen kann, und einen Button zum Speichern. Wenn auf diesen Button geklickt wird, wird der Insert aufgerufen und kriegt das Wort als Parameter mit.

if (isset($_POST['neuesWortEintragen'])){
			$aktWort = $_POST["wort"];
			echo "Neues Wort ".$aktWort." wird eingetragen";
			
	// Insert-Anweisung erstellen
    $check = $wpdb->insert( 'negativliste', array( 'wort' => ''.$aktWort.'' ) );

    if($check) {
        echo "Ein neuer Datensatz erfolgreich hinzugefügt";
    }
	} // ende von isset 

Dann kommt noch ein Link zurück zum Hauptformular, und das wars.

 

echo "</form>";

echo "<a href='admin.php?page=negativliste'>Zurück zur Übersicht</a>";

Das Formular zum Löschen eines Datensatzes sieht ganz ähnlich aus, das Textfeld ist allerdings schreibgeschützt, es dient nur zur Anzeige des als Parameter übergebenen Worts.

function loeschen_function(){

global $wpdb;

$aktWort = $_GET['aktuell'];
echo $aktWort." wird gelöscht";

echo "<h2><Löschen</h2>";

echo "<form action='admin.php?page=loeschen&aktuell='".$aktWort."' method='post'>";
echo "<p><input name='wort' type='text' value = '$aktWort' readonly></p>";
echo "<p><input type='submit' name='WortLoeschen' value='Wort löschen'></p>";
...

Wenn auf den Button „Wort Löschen“ geklickt wird, triggert der Delete-Befehl:

if (isset($_POST['WortLoeschen'])){
$aktWort = $_POST["wort"];
echo "Wort ".$aktWort." wird gelöscht</br>";

// Delete-Anweisung erstellen
$check=$wpdb->query("DELETE FROM negativliste WHERE wort = '$aktWort'");

if($check) {
echo "Ein Datensatz erfolgreich gelöscht";
}
echo "</form>";

Auch hier kommt noch der Link zurück zur Übersicht, und das wars.  Jetzt fehlen noch ein paar Screenshots, aber dafür gibts einen neuen Beitrag.

Inhaltsverzeichnis revisited: wg PHP 8 und sauber als Shortcode

Ich hab mir schon vor Jahren ein Inhaltsverzeichnis für meine WordPress-Webseiten gebastelt, das hatte ich damals mit PHP Code for Posts realisiert. Jetzt bei der Umstellung auf PHP 8 fällt es auf die Nase, ich musste es also eh noch mal überarbeiten. Es war ein relativ kleines Problem: ich hab in den Funktionsaufrufen für die Ausgabe pro Buchstabe keine Hochkommata für den Parameter dringehabt, das sah so aus:

BuchstabenAusgabe(A);

PHP 8 hätte es aber gern so:

BuchstabenAusgabe("A");

Bei der Gelegenheit hab ich es gleich in einen Shortcode gepackt und den Aufruf der Ausgabe mit einem Array gelöst, und weils so schön geklappt hat gehen wir es hier mal im Galopp nochmal durch.

Als Erstes kommt der Plugin-Header und die Definition des Shortcodes:

/*
Plugin Name: Inhaltsverzeichnis
Plugin URI: http://localhost/zum-schwarzen-pinguin/wp-content/plugins/inhaltsverzeichnis
Description: Erzeugt einen Shortcode [el_inhaltsverzeichnis] , der ein Inhaltsverzeichnis aller veröffentlichten Beiträge aus der Tabelle posts erstellt
Version: 3.0
Author: Evi Leu
Author URI: http://www.evileu.de
*/
add_shortcode( 'el_inhaltsverzeichnis', 'el_inhaltsverzeichnis_handler_function' );
function el_inhaltsverzeichnis_handler_function(){
echo "<h2>Inhaltsverzeichnis</h2>";...

Dann rufe ich die Funktion zur buchstabenweisen Ausgabe mit Hilfe eines Arrays für das Alfabet auf:

//Array mit Alfabet erzeugen
$alphas = range('A', 'Z');

//Durch alfabet durchsteppen
foreach($alphas as $letter){
//Alle Beiträge zu einem Buchstaben ausgeben
BuchstabenAusgabe("$letter");
}

Mit dem Buchstaben gehe ich in die Tabelle posts und hole mir die passenden Einträge heraus. Daraus wird eine Liste mit Links erzeugt, das geht schön mit der guid.

function BuchstabenAusgabe($aktBuchstabe){
global $wpdb;

//Beginn Originalcode
$table_name = $wpdb->prefix . 'posts';

//Datensätze zählen & Ausgabe Anzahl

$count_query = "select count(*) from $table_name where post_status='publish' and post_type = 'post' and post_title like '$aktBuchstabe%'";
$num = $wpdb->get_var($count_query);

//Ausgabe nur wenn auch Datensätze vorhanden sind
if ($num>0) { 
echo "<h2>$aktBuchstabe:&nbsp".$num."&nbsp Beiträge</h2>";

//Alle Datensätze vom Typ post und published ausgeben

$alleposts = $wpdb->get_results( "SELECT post_title, 
post_status, post_type,
guid FROM $table_name
where post_status='publish' and post_type = 'post' and post_title like '$aktBuchstabe%'
order by post_title");

foreach ( $alleposts as $einpost ) 
{ 
echo '<a href="', $einpost->guid, '/",">', $einpost->post_title, '</a></br>';

}

} //Ende if Anzahl grösser Null
//Ende Originalcode
}//ende function BuchstabenAusgabe

Das wars schon, Shortcode an beliebiger Stelle einsetzen und schwupps hat man ein schönes Inhaltsverzeichnis.

Xampp ist schon Klasse!

Jetzt hab ich mal den grossen Sprung gewagt und meinen lokalen Webserver neu installiert, weil ich ab jetzt mit PHP 8 arbeiten möchte. Ich hab mir den neuesten Xampp bei Chip runtergeladen, das alte Verzeichnis gesichert (lief schlappe 3 Stunden für gut 2 Gig) Xampp deinstalliert und neu installiert. Das hat zwar auch etwas länger gedauert, ist aber problemlos verlaufen. Das Control Panel musste ich dann zwar als Admin starten, aber das ist nur eine Kleinigkeit. Der Webserver lief auf Anhieb, ich hab dann gleich mal mit dem Duplicator den schwarzen Pinguin draufgenudelt – das hat gedauert! Am Anfang gabs zwar eine Fehlermeldung dass ein ZIP-Dienst nicht verfügbar wäre, aber dazu kam auch der Tipp dass man das Paket manuell entpacken könnte und den Installer dann nochmal starten kann. Lief problemlos durch – dauerte aber schon eine halbe Stunde.  Na fein, scheint alles zu laufen. Jetzt geh ich nochmal meine Plugins testen.