Wie wende ich eine WordPress-function auf etwas ohne ID in einer Archivseite an?

Innerhalb einer Archivseite habe ich mehrere Boxen. In diesen Kästchen möchte ich eine Sternbewertung hinzufügen, aber ich möchte keinen separaten Beitrag für jedes dieser Felder erstellen, ich möchte nur die Kästchen manuell erstellen. Alle Sterne-Plugins wollen die Post-ID holen, aber ich möchte keine Post-ID, ich möchte die function nur in einer isolierten Instanz anwenden.

Ich möchte auch mehrere functionen auf der gleichen Archivseite ausgegeben (in diesem Fall mehrere Sterne Bewertungen auf der gleichen Archivseite).

Auch der Post, in dem ich ausstelle, ist nicht einmal ein Post oder eine Seite. Tatsächlich ist es technisch gesehen eine Archivseite, die eigentlich keine Posts anzeigt, sondern verschiedene Boxen innerhalb der Seite, aber keine Posts.

Eine Sache, die ich versuchte, war, eine nicht existierende Post-ID wie 99999999991 anzugeben, eine Nummer, die niemals eine echte Post-ID werden würde (da ich keine Milliarden Blogposts schreiben werde). Das hat aber nicht funktioniert, es hat mir nur gesagt, dass diese ID nicht existiert.


Hier ist ein Bild, das einige Kästchen mit Sternen zeigt, so dass Sie eine visuelle haben:

Bildbeschreibung hier eingeben Was diese Seite ist, ist eine Archivseite. Das heißt, es ist die Seite, die sichtbar ist, wenn Sie die Kategorie URL wie mywebsite.com/category besuchen. Normalerweise könnte ich einige Posts in einer Schleife für diese Kategorie auf der Archivseite anzeigen. Aber hier mache ich das nicht, ich habe nur ein paar Kästchen in die Archivseite der Kategorie eingefügt.

Im Grunde alle Boxen, die nur PHP / HTML-Boxen sind, möchte ich eine Sternebewertung anwenden, manuell oder wirklich. Ich möchte in der Lage sein, jeden Shortcode in einer isolierten Instanz anzuwenden. Anstatt sich auf einen Beitrag zu bewerben.

Was den Code betrifft, hier ist der Code, den ich verwendet habe:

 

In diesem Shortcode ist es für ein Sterne-Rating-Plugin, und der Shortcode ermöglicht es Ihnen, die Sternenbewertung für jede Post-ID mit id="" anzuzeigen.

Der Shortcode funktioniert nicht, weil er sagt: “Kein Post mit dieser ID”. Wenn ich es einfach versuche es zeigt das leere Sternbild, aber es tut nichts, wenn ich versuche zu klicken und tatsächlich, wenn ich versuche, eine Box zu bewerten, sind alle Kästen Sterne gleichzeitig betroffen und geben den Fehler an.

Ich habe auch versucht, erweiterte benutzerdefinierte Felder (ACF-Plugin) zu verwenden:

  

Was star_rating hier ist, ist in fortgeschrittenem benutzerdefiniertem Feld Ich habe das Stern-Rating-Plugin für ACF und ich habe ein benutzerdefiniertes Stern-Rating-erweitertes benutzerdefiniertes Feld erstellt und es star_rating .

Der ACF-Code funktioniert nicht, weil er mir einen Fehler gibt, da er in keiner Schleife enthalten ist und nicht auf einen bestimmten Post angewendet wird.

Beide Codebeispiele funktionieren, wenn sie in einem Post verwendet werden. Ich möchte jedoch ohne und mit post, nur für sich selbst verwenden.


Wie kann ich WordPress-functionen anwenden, die eine Post-ID benötigen, ohne eine Post-ID dafür zu haben (besonders weil ich mehrere innerhalb der Seite haben will und es nicht wirklich eine Seite oder ein Post ist, sondern eine Archivseite) ?

Solutions Collecting From Web of "Wie wende ich eine WordPress-function auf etwas ohne ID in einer Archivseite an?"

Ihr Bewertungs-Plugin funktioniert nicht mit benutzerdefiniertem HTML-Inhalt (z. B. diesen Feldern). Warum? Denn wo werden die ratingbezogenen Daten gespeichert? Es muss die Daten irgendwo speichern, oder?

Jetzt möchten Sie die Bewertung in keinem post hinzufügen, das ist in Ordnung. Ihre andere Option besteht darin, einen custom post type zu erstellen. Dazu können Sie ein Plug-in verwenden, z. B. die Custom Post Type UI .

WordPress ermöglicht es Ihnen, benutzerdefinierte Inhalte (zum Beispiel: Rating Box ) zu erstellen, die als custom post type sind und für jeden Zweck verwendet werden können.

Sobald Sie einen benutzerdefinierten Beitragstyp erstellt haben (mit dem Plugin oder Ihrem eigenen benutzerdefinierten CODE) und es zum Beispiel mit dem Rating Box benennen, können Sie das ACF Plugin verwenden, um ein benutzerdefiniertes rating für das Rating Box zu erstellen. Verwenden Sie dann diesen benutzerdefinierten Beitragstyp, um Ihre benutzerdefinierte Archivseite zu entwickeln. Sobald Sie das getan haben, können Sie sie mit dem Bewertungs-Plugin bewerten (wenn dieses Plugin einen benutzerdefinierten Beitragstyp unterstützt, sollte ein Standard-Plugin den benutzerdefinierten Beitragstyp unterstützen).

Eine andere Möglichkeit besteht darin, die Einstellungs-API zu verwenden, um die Daten zu speichern und die Bewertung in Ihrem benutzerdefinierten HTML-Feld mithilfe der Werte anzuzeigen, die über die Einstellungs-API oder die Options-API festgelegt wurden .