Verwenden Sie Post-ID und Seiten-ID in derselben function

Ich habe eine function geschrieben, um eine benutzerdefinierte Seitenleiste anzuzeigen, die als Seitenleiste ausgegeben wird. Auf einigen Seiten habe ich ein benutzerdefiniertes Feld namens ‘show_sidebar’, das ich auf Seiten, die ich nicht als Seitenleiste anzeigen möchte, als ‘falsch’ festlegen kann.

Auf den Seiten habe ich einige weitere Shortcodes eingerichtet, um eine Schleife für bestimmte Postkategorien zu initiieren. Ich muss die Seitenleiste auf jeder Seite zeigen (über page.php in den Themendateien), mit 4 Posts, die jeweils die gleiche Kategorie der Hauptposts haben (sie sind alle die gleiche Kategorie).

Problem ist, um das benutzerdefinierte Feld zu erhalten, muss ich den global $post; Methode, um die Seiten-ID und nicht die Post-ID zu erhalten (keiner der Beiträge wird das benutzerdefinierte Feld haben, da es keinen Punkt gibt). Das alles funktioniert gut und ich kann den Wert von Custom Field gut erhalten. Wenn ich jedoch den Shortcode stimme, brauche ich die ID der Posts auf der Seite (generiert durch den Loop-Shortcode, den ich geschrieben habe).

Hier ist mein Code:

 function showSidebar() { global $post; // so I get the Page ID, not the Post IDs $customField = get_post_meta($post->ID, 'show_sidebar', true); if ($customField == 'true' || empty($customField)) { $showSidebar = true; } elseif ($customField = 'false') { $showSidebar = false; } // get value of Custom Field 'show_sidebar' and check if it was true or false $postCat = get_the_category($post->ID); // here is where I need to use the Post ID, not the Page ID if ($showSidebar) { echo do_shortcode('[sidebar category="'. $postCat[0]->name .'" no_of_posts="4" title="Latest '. $postCat[0]->name .'"]'); } // shortcode is initiated } 

Meine Frage ist also, wie kann ich die Page ID in einem Teil der function verwenden, und Post ID in einem anderen Teil?

Solutions Collecting From Web of "Verwenden Sie Post-ID und Seiten-ID in derselben function"