Czy istnieje sposób na uzyskanie zawartości z innej strony poza pętlą? Identyfikator to 302 i muszę wyświetlić jego treść na innej stronie.
loop
post-content
Obrabować
źródło
źródło
get_queried_object_id()
! developer.wordpress.org/reference/classes/wp_query/…Odpowiedzi:
Możesz użyć,
get_page()
aby zwrócić$post
obiekt strony statycznej:Edytować
Podobnie możesz użyć,
get_post()
aby zwrócić$post
obiekt postu:źródło
setup_postdata( $post );
Najpierw użyj , potem możesz użyćthe_content();
apply_filters( 'the_content', $post_object->post_content );
aby uzyskać treść postu poza pętlą, możesz napisać coś takiego
źródło
Jeśli treść zawiera skróty, należy użyć:
źródło
do_shortcode
innych niż powiedzenie: „Może być powolne” i „Możesz po prostu użyć funkcji wywoływanej przez krótki kod”. Powody te dotyczą tylko najbardziej trywialnych dla najprostszych scenariuszy. Nie udaje się, gdy shortcode jest generowany gdzie indziej, lub jeśli jest wiele skrótów lub skrótów zmieszanych z inną zawartością i znacznikami. Bez ważnego powodu nie zgadzam się z tym stwierdzeniem, którego należy unikaćdo_shortcode
. To pachnie jak przedwczesna optymalizacja .Dla kompletności, w oparciu o powyższy komentarz Tima i zainspirowany artykułem Stephena Harrisa , rozwiązaniem umożliwiającym użycie
the_content()
jest:W związku z tym filtry są stosowane (wstawiane akapity itp.) I działają skróty.
źródło
Ponieważ znasz swój docelowy identyfikator posta (302), przydatna może być ta skrócona składnia, której możesz użyć poza pętlą (chociaż jej wydajność jest prawie taka sama jak w każdej innej metodzie alternatywnej :)
źródło
Możesz użyć tej
get_post_data()
funkcji, aby dostać się poza pętlę. Umieść ten kod w functions.phpa następnie dodaj ten fragment kodu, aby uzyskać większą kontrolę nad procesem
źródło
Jak już wspomniano, możesz użyć rozwiązania z
get_post
i$post_object->post_content
, ale nie zapomnij dodać czeku przed użyciem tego obiektu postu:źródło
Możesz po prostu wywołać get_the_content (postId)
źródło
użyj
wp_reset_postdata();
go będzie działać .. (edytowane)posttype może być „post”, „page” lub niestandardowym typem posta. Tutaj p = 302 to identyfikator twojego posta. Mam nadzieję, że zadziała.
źródło
query_posts
chyba że musisz zepsuć funkcje strony. Zawsze używajWP_Query
lubget_posts
do niestandardowych zapytań :-)pre_get_posts
filtr ithe_post
. Tyle szczegółów.możesz umieścić treść w kategorii X i użyć zapytania_post przedtem w następujący sposób:
źródło