Fügen Sie eine Klasse zu WordPress submit_button hinzu

Lesezeit: 4 Minuten

Benutzer-Avatar
edit7279

Gibt es eine Möglichkeit, dieser Zeile eine “Klasse” hinzuzufügen, damit sie dem .button-Stil in meinem CSS-Stylesheet entspricht?

<?php submit_button(__('Update Profile')); ?>

Vielen Dank

  • Können Sie dem HTML zeigen, was dieser Code erzeugen wird?

    – Anant – Lebendig um zu sterben

    7. Februar 2016 um 0:01 Uhr

  • submit_button ist kein natives PHP. Wo verwendest du diesen Code?

    – Gantoine

    7. Februar 2016 um 0:02 Uhr

  • Warum stylen Sie die Schaltfläche nicht in der HTML-Datei?

    – jackD

    7. Februar 2016 um 0:02 Uhr

  • @HebleV Sie / er muss die verwenden submit_button bei WordPress

    – Pmpr.ir

    7. Februar 2016 um 0:09 Uhr

Benutzer-Avatar
tao

submit_button() ist eine Kernfunktion des Admin-Dienstprogramms. Es ist eines der vielen Elemente, aus denen das WordPress-Admin-Thema besteht, und es wird angenommen nicht zu stylenalso wird es sich elegant ändern, wenn WP-Core-Entwickler entscheiden, das Admin-Design zu ändern.

Wenn Sie diese bestimmte Schaltfläche jedoch wirklich gestalten möchten, schlage ich Folgendes vor: Fügen Sie Ihrer Schaltfläche ein benutzerdefiniertes Attribut namens hinzu data-style:

<?php 
$attributes = array( 'data-style' => 'custom' );
submit_button ( 'Update Profile', 'primary', 'submit', true, $attributes );
?>

Und in Ihrem CSS können Sie Ihre Schaltfläche jetzt gestalten mit:

[data-style="custom"] {
     /* style your button here */
}

UPDATE: Die Antwort von Trix veranlasste mich, mir das genauer anzusehen Funktionsreferenz und realisiert ($type) kann sicher verwendet werden, um jeder WP-Admin-Schaltfläche benutzerdefinierte Klassen hinzuzufügen. Es ist so einfach wie:

submit_button ( 'Update Profile', 'custom-class' );

Beachten Sie, dass Ihre Schaltfläche (gemäß der Funktionsreferenz) immer noch die Standardeinstellung hat button Klasse. Das sollte funktionieren:

.button.custom-class {
     /* styles here */
}

UPDATE 2: Ich habe weitere Tests durchgeführt und anscheinend funktioniert die Funktion wie angekündigt. Die tatsächliche Ausgabe von

submit_button(__('Update Stuff'), "custom-class");

war:

<p class="submit">
    <input type="submit" 
           name="submit" 
           id="submit" 
           class="button custom-class" 
           value="Update Stuff">
</p>

Die meisten Regeln, die für die Schaltflächen im WP-Adminbereich gelten, sind mit vorangestellt .wp-core-ui. In diesem Fall stammen sie aus .wp-core-ui .button oder .wp-core-ui .button:hover. Die folgenden Selektoren sollten also funktionieren:

.wp-core-ui .button.custom-class {
     /* normal state rules here */
}
.wp-core-ui .button.custom-class:hover {
     /* hover state rules here */
}
.wp-core-ui .button.custom-class:focus,
.wp-core-ui .button-custom-class:active {
     /* active/focus state rules here */
}

Zum Beispiel hat das Hinzufügen von diesem zum Dashboard-CSS das Aussehen meiner Schaltfläche geändert, ohne andere Schaltflächen zu beeinflussen:

.wp-core-ui .button.custom-class {
    background-color: #272727;
    border-color: #666;
    color: #ddd;
}
.wp-core-ui .button.custom-class:hover {
    background: #212121;
    border-color: #666;
    color: white;
}

Habe es so aussehen lassen: update_stuff_button

Bitte beachte, dass .custom-class Regeln werden von allen Regeln überschrieben, die mit gesetzt wurden .wp-core-ui .button (der Standardselektor für Schaltflächen in WP Admin).

  • Schöne Lösung. Das funktioniert und erfordert keine Klasse.

    – zufälliger_Benutzername

    7. Februar 2016 um 0:14 Uhr

  • Das ist nett, aber es ist keine Antwort auf die Frage.

    – Pmpr.ir

    7. Februar 2016 um 0:15 Uhr

  • Der Grund, warum er eine Klasse hinzufügen wollte, war, den Button zu stylen, ohne ihm eine eindeutige Kennung zu geben. Ich denke, ich habe die Mittel bereitgestellt, da das Hinzufügen von Klassen zu dieser Art von Kernelement nicht einfach ist.

    – tao

    7. Februar 2016 um 0:16 Uhr

  • Das mag stimmen, aber berücksichtigen Sie zukünftige Verweise auf diese Frage. als Titel der Frage beschreibt Ihren Kommentar nicht

    – Pmpr.ir

    7. Februar 2016 um 0:18 Uhr

  • Okay, also @AndreiGheorghiu, deine Methode hat funktioniert … irgendwie … Ich habe deinen Code hinzugefügt und er hat die Schaltfläche etwa doppelt so hoch vergrößert wie sie war, wodurch sie ungefähr 2 Pixel größer war als die anderen … es hat das ohne Hinzufügen getan jede Art von CSS-Styling …. wenn ich versuche, Styling hinzuzufügen, ändert sich nichts … selbst wenn “!important” hinzugefügt wird, um alles andere zu überschreiben … seltsam

    – edit7279

    7. Februar 2016 um 1:04 Uhr

Benutzer-Avatar
Pmpr.ir

Sie können Ihre Klasse einfach wie folgt hinzufügen:

submit_button( __('Update Profile'), 'my-custom-class' );

  • Sie haben Recht, $type akzeptiert benutzerdefinierte Klassen. Dies ist der richtige Weg, um Klassen zu WP-Administrationsschaltflächen hinzuzufügen.

    – tao

    7. Februar 2016 um 0:23 Uhr

<?php submit_button(__('Update Profile', 'button')); ?>

Das sollte funktionieren 🙂 Sie können die Parameter von submit_button() hier einsehen:
https://developer.wordpress.org/reference/functions/submit_button/

Wie Sie sehen können, sollte die Standardklasse “primär” sein. Ich weiß nicht, ob WordPress das erfordert, sonst könnten Sie es einfach versuchen:

<?php submit_button(__('Update Profile', 'button primary')); ?>

  • “$type (string) (Optional) Der Typ und die CSS-Klasse(n) der Schaltfläche. Kernwerte sind ‘primary’, ‘secondary’, ‘delete’. Default ‘primary’ Default value: ‘primary'”

    – Benjamin Rasmussen

    7. Februar 2016 um 0:05 Uhr

  • Bitte lesen Sie hier: codex.wordpress.org/Function_Reference/submit_button “Hinweis: $type kann ein einzelner Wert oder eine durch Leerzeichen getrennte Liste von Werten oder ein Array von Werten sein. Die Werte bestimmen die HTML-Klassen der Schaltfläche.” Ich weiß, was du sagst – primary sollte bereits sowohl “primary-button” als auch “button” als Klassen festlegen, aber ich habe die Frage beantwortet, wie man benutzerdefinierte Klassen zu einer submit_button-Funktion hinzufügt;)

    – Benjamin Rasmussen

    7. Februar 2016 um 0:11 Uhr

  • “Jeder andere Typwert ‘foo’ macht die Klasse ‘foo'”

    – Benjamin Rasmussen

    7. Februar 2016 um 0:16 Uhr

1316200cookie-checkFügen Sie eine Klasse zu WordPress submit_button hinzu

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy