Gibt es eine Möglichkeit, den Namen der Seitenvorlage zu erhalten?
Ich meine in einer Seitenvorlage, am Anfang schreiben wir Template Name: template name
Ich will “template name
” nach Seiten-ID
ich habe es versucht get_post_meta(get_the_ID(), '_wp_page_template', true) and get_page_template_slug($post_id)
aber keine der Funktionen hat geholfen
Es gibt einen etwas korrekteren Weg, das zu tun. Sagen wir, wir haben bereits einen Vorlagenpfad:
$template_path = get_post_meta(get_the_ID(), '_wp_page_template', true);
Dann machen wir das einfach:
$templates = wp_get_theme()->get_page_templates();
echo $templates[$template_path];
es gibt den Vorlagennamen aus. so einfach ist das.
Versuchen Sie, diesen Code zur function.php hinzuzufügen
add_action('wp_head', 'show_template');
function show_template() {
global $template;
echo basename($template);
}
Gib mir Bescheid.
Ich habe es herausgefunden.
Da ich innerhalb des WordPress-Adminbereichs verwenden werde, habe ich reguläre Ausdrücke verwendet.
Es ist so etwas preg_match('/\bTemplate Name: [a-zA-Z0-9\s\-_]+\b/',$file,$template);
.
$file
ist der Dateiname von get_post_meta(get_the_ID(), '_wp_page_template', true)
Es gibt mir Template Name: template name
und dann habe ich einige Array-Funktionen verwendet, um einen tatsächlichen Teil aus dem zurückgegebenen Array zu erhalten preg_match
.
Ich hoffe, dass diese Lösung anderen Entwicklern in Zukunft helfen wird.
13442500cookie-checkWie bekomme ich den Namen der Seitenvorlage? zB Vorlagenname: Vorlagennameyes
Ist die Antwort genau dort in stackoverflow.com/questions/39862290/…? Nein Vergiss es.
–Stein
7. Juni 2019 um 18:47 Uhr