it-swarm-eu.dev

Získejte obsah stránky pomocí slug

Snažím se dostat obsah stránky, když vím jen ten slug řetězec.

Existuje pro to nějaká funkce, nebo snadný způsob, jak to udělat, nebo je to případ, kdy to děláte prostřednictvím SQL?

Díky moc

9
Alex

Použijte get_posts() a parametr name který je slug:

$page = get_posts( array( 'name' => 'your-slug' ) );

if ( $page )
{
    echo $page[0]->post_content;
}

Mějte na paměti, že typ příspěvku v get_posts() výchozí hodnoty 'post'. Pokud chcete page use…

$page = get_posts(
    array(
        'name'      => 'your-slug',
        'post_type' => 'page'
    )
);

Pokud chcete všechny typy public post (kromě příloh) nastavte argument typu příspěvku na 'any'. Pak byste mohli získat více než jeden výsledek, protože slimáci nejsou jedineční napříč různými typy příspěvků.

27
fuxia

Pokud se na stránce s slimák v otázce

Přečtěte si na podmíněné značky :
is_page() také vezme slug jako argument.

Proto,

if( is_page( 'your-slug' ) ) {
     // fetch content
}

udělá, co chceš.

Pokud na jiné stránce

Pokud by vás zajímalo, jak načíst stránku/obsah stránky na základě slug, když ne na uvedené stránce, můžete také poslat get_posts a slug. Toto není v kodexu zdokumentováno.

Následující ID přinese ID ze slug:

$args = array(
    'name' => 'your-slug'
);
$posts_from_slug = get_posts( $args );

// echo fetched content
echo $posts_from_slug[0]->post_content;
4
Johannes Pille

Stránku můžete získat podle názvu pomocí get_page_by_title() function.

Můžete ho použít takto (za předpokladu, že chcete zobrazit obsah):

$page = get_page_by_title('Your Title'); 
$content = apply_filters('the_content', $page->post_content);
echo $content;

BTW, pro získání stránky pomocí slug:

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'));
3
Sisir

Použijte get_page_by_path.

Syntaxe

<?php get_page_by_path( $page_path, $output, $post_type ); ?>

 Parameters 

Příklad:

//Returns the animal with the slug 'cat'
get_page_by_path('cat', OBJECT, 'animal');

pro více referenci viz WordPress Function Reference

Tento kód používám při vyplňování šablony motivu ze stránky,

        $about = get_page_by_path('about'); 
        $content = apply_filters( 'the_content', $about->post_content ); 
        echo $content;
1
PlanetHackers