Support » Allgemeine Fragen » Unverlinkte Beiträge/Seiten finden

  • Oh, ich habe mich beim Überarbeiten von Seiten und Beiträgen leider selbst überdribbelt. Früher war das Datum jeweils im Titel vorgestellt enthalten, jetzt nicht mehr. Und jetzt habe ich daher das Problem, für die Übersichten eines nichtöffentlichen Familien-Bereichs die Beiträge zwecks Übersichtsseite (Galerie als Menü, die Bilder führen jeweils zum entsprechenden Familienfest) zu verlinken, weil ich einige der Beitrage bzw. Seiten (beides kommt vor) nicht mehr auffinden kann. Das Veröffentlichungsdatum hilft mir dabei nit, weil das leider (noch) nicht mir den Daten der Feste bzw. Events zusammenstimmt.

    Gibt es eine technische Möglichkeit, nicht verlinkte Seiten/Beiträge innerhalb einer Website aufzuspüren bzw. aufzulisten? Es sind doch mehr als 500, sie alle einzeln durchzusehen, würde zumindest Tage brauchen.

    lG Ernst

    P.S.: Ich weiß nicht, ob das jetzt eine Supportfrage ist oder doch nicht; bitte notfalls anders merkieren.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Die Einleitung habe ich nicht ganz verstanden, aber wenn ich den Rest richtig verstanden habe, möchtest du für eine größere Menge Beiträge herausfinden, ob sie irgendwo (oder nur auf einer bestimmten Seite?) verlinkt sind?

    Es werden zwar beim Erstellen/Bearbeiten von Beiträgen einige Meta-Daten gespeichert, aber nicht sowas wie „ist woanders verlinkt“. Vielleicht könnte man sowas selber programmieren und ein Array mit allen vorhandenen Links mit einem Array aller Beitrags-Permalinks abgleichen. Ein fertiges Plugin ist mir nicht bekannt, aber dafür ist der Usecase auch zu speziell.

    Nachtrag: Das reichlich angestaubte Plugin My Links gibt dir alle Links aus, die du in Beiträgen und Seiten gemacht hast – das wäre schon mal ein Anfang …

    Thread-Ersteller Ernst Weinzettl

    (@ernstw)

    @pixolin Danke für die Antwort

    Die Einleitung habe ich nicht ganz verstanden

    das jhatte ich befürchtet. 😉

    möchtest du für eine größere Menge Beiträge herausfinden, ob sie irgendwo (oder nur auf einer bestimmten Seite?) verlinkt sind?

    Fast. Ich möchte nur die Seiten bzw. Beiträge finden, die NICHT verlinkt sind. Diese (noch) nicht verlinkten Beiträge/Seiten brauche ich, um sie zu verlinken.

    Konkret habe ich im Familienbereich eine Seite, die zu den verschiedenen Jahren zeigt bzw. verlinkt. Für jedes Jahr gibt es dann eine Seite, deren Bilder auf die jeweiligen Ereignisse verlinkt. Hier ein Muster:

    Und für ein Jahr existieren diese Links nicht, die Seiten aber wohl; nur wo? Ich kann sie derzeit nicht mal mit den Stichwörtern finden, die mir einfallen. Sie existieren aber irgendwo innerhalb der HP.

    lG Ernst

    PHP bietet eine ganze Reihe von Array-Funktionen an, darunter array_diff(), mit der du den Inhalt von zwei Listen abgleichen kannst. Das kann z.B. die Liste aller Beiträge deiner Website und eine Liste aller Links, die in den Beiträgen verwendet werden, sein.

    Etwas umständliche Erklärung, mehr was für Nerds … 🤓

    • Nehmen wir an, du hast zwei Listen, die verschiedene Farben aufführen. Du möchtest eine Liste aller Farben in der Liste eins, die in Liste zwei nicht genannt werden.
      $liste_eins = array( 'grün', 'rot', 'orange', 'blau' );
      $liste_zwei = array( 'grün', 'lila', 'blau', 'rot' );
      
      $unterschied = array_diff( $liste_eins, $liste_zwei );
      
      print_r ( $unterschied ) ;
      

      Ausgabe:

      Array ( [2] => orange )

      Jetzt auf deinen Fall mit den Beiträgen umgesetzt:
      Du hast eine Liste $alle_beitraege mit den Permalinks aller Beiträge (ich nenne sie hier mal beitrag-eins, beitrags-zwei, …) und eine Liste $alle_links, die alle Links enthält, die du in Beiträgen verwendet hast. Der Code ist gleich, nur die Liste ist anders:

      $alle_beitraege = array( 'beitrag-eins', 'beitrag-zwei', 'beitrag-drei', 'beitrag-4' );
      $alle_links = array( 'google.de', 'beitrag-drei', 'wordpress.org', 'beitrag-eins' );
      
      $unterschied = array_diff( $alle_beitraege, $alle_links );
      
      print_r ( $unterschied ) ;

      Ausgabe:
      Array ( [1] => beitrag-zwei, [3] => beitrag-vier )

      Die Beiträge beitrag-zwei und beitrag-vier kommen also in der Liste der Links nicht vor, sind also nicht verlinkt. Und das ist es, was du suchst, oder?

    Zusammenfassung: Mit etwas Programmierung lässt sich herausfinden, zu welchen Beiträgen es keine Links gibt.

    Noch ein ganz anderer Ansatz …

    Und für ein Jahr existieren diese Links nicht, die Seiten aber wohl; nur wo?

    Sind die Beiträge mit den Events dieses Jahres in dem Jahr des Events erstellt worden?

    Du kannst in der Beitragsübersicht nach Datum filtern und dir z.B. alle Beiträge aus dem August 2017 auflisten lassen.

    Thread-Ersteller Ernst Weinzettl

    (@ernstw)

    Sind die Beiträge mit den Events dieses Jahres in dem Jahr des Events erstellt worden?

    Nein, sind sie nicht. Ich habe überhaupt erst Jahre später die Idee mit der Familienseite gehabt. Dann habe ich gut zwei Jahre eine Seite nach der anderen erstellt – und dabei das aktuelle Erstellungsdatum verwendet. Heute lege ich das Erscheinungsdatum auf das des Ereignisses, das auf der Seite bzw. in dem Beitrag beschrieben wird. Da tu ich mir nachher leichter.

    Auch sind diese „Events“ logischerweise nicht bei den öffentlichen Events zu finden.

    Du kannst in der Beitragsübersicht nach Datum filtern und dir z.B. alle Beiträge aus dem August 2017 auflisten lassen.

    Das habe ich schon versucht, bin aber eben an dem Umstand gescheitert, dass binnen zwei Jahren gut dreihundert Beiträge und Seiten erstellt wurden.

    Aber mach dir keinen Kopf. Muss ich mich halt durchgraben. Es zahlt sich nicht aus, für komplizierte Lösungen Zeit zu verschwenden. Danke aber für deinen Einsatz!

    lG Ernst

    P.S.:

    Zusammenfassung: Mit etwas Programmierung lässt sich herausfinden, zu welchen Beiträgen es keine Links gibt.

    Ich bin immer wieder fasziniert, was du so aus dem Ärmel schüttelst. Wirklich. Und obwohl ich mich vor vielen Jahrzehnten mit Datenbanken befasst habe, was das laaaange vor PHP & Co., sogar einige Zeit vor relationalen DBs. Da ist mein Faden aktuell schon völlig weg. Gerade die Logig ist noch verwurzelt, das ist aber auch nicht viel. Ich befasse mich heute noch mit Design, kann auch gerade noch mühsam in einer SQL-DB-Tabelle etwas finden. Das war’s dann schon. Programmieren werde ich nicht mehr, da müsste ich von vorne beginnen. Das geht sich in meinem Leben wahrscheinlich nicht mehr aus.

    Aber wer weiß, vielleicht packt mich nochmal der Wahnsinn beim Genick; weil dein Code reizt mich schon ein wenig. 😉 Derzeit bin ich aber schneller, wenn ich die Seiten neu erstelle. Und ich muss schauen, dass ich jetzt mal fertig werde. Nur kugeln dann wieder ein paar Leichen mehr in meinem WordPress rum…

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)