Ich versuche Seiteninhalt zu erhalten, wenn ich nur die Slug-Zeichenfolge kenne.
Gibt es eine Funktion dafür oder eine einfache Möglichkeit, dies zu tun, oder ist dies ein Fall, in dem dies über SQL erfolgt?
Vielen Dank
Verwenden Sie get_posts()
und den Parameter name
, bei dem es sich um den Slug handelt:
$page = get_posts( array( 'name' => 'your-slug' ) );
if ( $page )
{
echo $page[0]->post_content;
}
Beachten Sie, dass der Post-Typ in get_posts()
standardmäßig 'post'
ist. Wenn Sie eine Seite verwenden möchten ...
$page = get_posts(
array(
'name' => 'your-slug',
'post_type' => 'page'
)
);
Wenn Sie möchten, dass all öffentliche Beitragstypen (mit Ausnahme von Anhängen), setzen Sie das Argument für den Beitragstyp auf 'any'
. Dann könnten Sie mehr als ein Ergebnis erhalten, da die Butzen nicht für alle Beitragstypen eindeutig sind.
Lesen Sie auf Bedingte Tags :is_page()
nimmt auch die Schnecke als Argument.
Daher,
if( is_page( 'your-slug' ) ) {
// fetch content
}
werde tun was du willst.
Wenn Sie interessiert sind, wie Post-/Seiteninhalte basierend auf einem Slug abgerufen werden, wenn nicht auf dieser Seite, können Sie auch get_posts
einen Slug eingeben. Dies ist im Kodex nicht dokumentiert.
Folgendes ruft die ID von einem Slug ab:
$args = array(
'name' => 'your-slug'
);
$posts_from_slug = get_posts( $args );
// echo fetched content
echo $posts_from_slug[0]->post_content;
Sie können eine Seite anhand ihres Titels mit der Funktion get_page_by_title()
abrufen.
Sie können es wie folgt verwenden (vorausgesetzt, Sie möchten den Inhalt anzeigen):
$page = get_page_by_title('Your Title');
$content = apply_filters('the_content', $page->post_content);
echo $content;
Übrigens, um Seite mit Schnecke zu bekommen:
function get_page_id_by_slug($slug){
global $wpdb;
$id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '".$slug."'AND post_type = 'page'");
return $id;
}
$page = get_post(get_page_id_by_slug('my-slug'));
Verwenden Sie get_page_by_path
.
Syntax
<?php get_page_by_path( $page_path, $output, $post_type ); ?>
Beispiel:
//Returns the animal with the slug 'cat'
get_page_by_path('cat', OBJECT, 'animal');
weitere Informationen finden Sie unter WordPress-Funktionsreferenz
Ich benutze diesen Code, wenn ich eine Designvorlage von einer Seite ausfülle,
$about = get_page_by_path('about');
$content = apply_filters( 'the_content', $about->post_content );
echo $content;