Ursprüngliches Thema: Den Untertitel einer PARENT-Seite in WordPress wiedergeben?
Ich habe einen separaten Bedarf für die Codemarke entdeckt, die in Bezug auf das ursprüngliche Thema oben erstellt wurde. Glücklicherweise konnte ich mit einem anderen Community-Mitglied zusammenarbeiten, um eine ähnliche Funktion zu erreichen, um die href für dasselbe Element zu handhaben, auf das sich diese Frage auch bezieht.
Ich muss das Titel-Tag basierend auf dem Untertitelwert der übergeordneten Seite füllen. Wenn jedoch kein übergeordnetes Element festgelegt ist, muss standardmäßig der Standardunterkopf der gesamten Site verwendet werden.
Wir konnten dies für das href-Attribut hier erreichen: How to set a link based off a post_parent being set – WordPress
Der aktuelle Code wird so behandelt:
<?php
if ($post->post_parent) {
$permatitle = get_post_meta($post->post_parent, '_base_page_subtitle', true);
} else {
$permatitle = get_post_meta($post->ID, '_base_page_subtitle', true);
}
?>
<a href="https://stackoverflow.com/questions/18218051/<?php%20echo%20$permalink;%20?>" title="<?php echo $permatitle; ?>">
Ich brauche es jedoch, um auch auf untergeordneten Seiten zu arbeiten. Jede Hilfe wäre willkommen und ich werde jeden positiv bewerten, der zur Lösung dieses Problems beitragen kann.
wenn Sie versuchen, dasselbe zu erreichen (siehe hier), aber diesmal für den Titel,
du kannst das:
<?php
if ($post->post_parent!=0) {
// for child pages
$permatitle = get_post_meta(end( get_ancestors( get_the_ID(), 'page' )), '_base_page_subtitle', true);
} elseif($post->ID==0||count(get_pages('child_of=".$post->ID))==0) {
//for HP or pages with no child
$permatitle = get_post_meta(get_option( "page_on_front' ), '_base_page_subtitle', true);
} else {
// for top level pages/parents
$permatitle = get_post_meta($post->ID, '_base_page_subtitle', true);
}
oder noch besser, kombiniere beides:
<?php
if ($post->post_parent!=0) {
// Handling of Child Pages
$permalink = get_permalink( end( get_ancestors( get_the_ID(), 'page' )));
$permatitle = get_post_meta(end( get_ancestors( get_the_ID(), 'page' )), '_base_page_subtitle', true);
} elseif($post->ID==0||count(get_pages('child_of=".$post->ID))==0) {
// Homepage or Pages with no Parent
$permatitle = get_post_meta(get_option( "page_on_front' ), '_base_page_subtitle', true);
$permalink = home_url();
} else {
// Handling of Top Level/Parent Pages
$permatitle = get_post_meta($post->ID, '_base_page_subtitle', true);
$permalink = get_permalink( end( get_ancestors( get_the_ID(), 'page' )));
}
dann kannst du das machen nach:
<a href="https://stackoverflow.com/questions/18218051/<?php%20echo%20$permalink;%20?>" title="<?php echo $permatitle; ?>">