it-swarm.com.de

Wie wende ich Stil auf jede Kategorie einer Liste an?

Ich muss ein einfaches Plugin erstellen, um eine Liste von Kategorien im Inhalt des Posts anzuzeigen, und da ich neu in der Codierung bin, habe ich nach den Grundlagen gesucht und angefangen, kleine Änderungen vorzunehmen. es sieht jetzt so aus:

// [cats]
function catting ( $atts, $content = null ) {
global $post;
$categories = get_the_category_list(  ', ', '', $post->ID  );
 return '<div id="cats" class="catting">' . $categories . '</div>';
}
add_shortcode("cats", "catting");

Es zeigt die Kategorien eines Beitrags, der einfach aufgelistet ist, und ich habe es geschafft, einige benutzerdefinierte Stile darauf anzuwenden, um ihn als Schaltflächen anzuzeigen, aber der Stil wird auf den gesamten Shortcode angewendet, anstatt die Kategorien einzeln und einzeln zu beeinflussen.

Ich versuche, foreach zu verwenden und die Kommas in ein Leerzeichen zwischen ihnen zu ändern, aber jedes Mal, wenn ich etwas versuche, wird der Code beschädigt oder es ändert sich überhaupt nichts.

Ich würde gerne wissen, wie ich den Stil in jeder Kategorie separat anwenden kann, und ich danke Ihnen im Voraus für die Hilfe.

1
JorgeAmVF

Ich habe Ihren Code so geändert, dass er die von @Usce vorgeschlagene Funktionsreferenz wp_list_categories() widerspiegelt.

Dieses Snippet erstellt eine ungeordnete Liste, entfernt den Listentitel "Categories" und fügt die Klasse li mit einer individuellen Kategorie-ID hinzu, sodass Sie jeden Link in der Liste als Ziel festlegen können.

function catting ($atts, $content = null) { echo '<div id="cats" class="catting">' . wp_list_categories('title_li=','current_category') . '</div>'; } add_shortcode("cats", "catting");

Im Folgenden finden Sie einige CSS-Anweisungen zum Entfernen der Aufzählungszeichen und des Randes, damit sich diese im Wesentlichen wie Ihr ursprünglicher Code verhalten, wobei jedoch li Ihre Anker umschließt.

Das CSS zerlegt die Liste, die wir erstellt haben, in eine horizontale Linie. Denken Sie daran, Ihr CSS zu ändern, um das Ergebnis weiter anzupassen, d. H. Stile für Schaltflächen hinzuzufügen.

#cats.catting ul { display: inline; } #cats.catting ul li.cat-item { list-style: none; margin: 0px 10px; }

Ich hoffe das beantwortet deine Frage.

0
Jarmerson

Du musst dafür kein Plugin schreiben - was du brauchst, existiert bereits. Überprüfen Sie diesen Link: https://wordpress.org/plugins/list-categories/ Mit diesem Plugin können Sie Kategorien in jedem Beitrag oder auf jeder Seite anzeigen. Natürlich möchten Sie vielleicht Ihr eigenes Plugin schreiben, und in diesem Fall kann dieser Link hilfreich sein. Ich hoffe, dass dies Ihnen hilft, einen Prozess zu beschleunigen.

0
Alex Black