Pobierz zawartość strony za pomocą ślimaka

9

Próbuję uzyskać zawartość strony, gdy znam tylko ciąg informacji o ślimaku.

Czy jest do tego funkcja, czy jest to łatwy sposób, czy jest to przypadek robienia tego przez SQL?

Dziękuję bardzo

Alex
źródło

Odpowiedzi:

30

Użyj get_posts()i parametru, namektóry jest ślimakiem:

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

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

Pamiętaj, że get_posts()domyślnie typ wpisu to 'post'. Jeśli chcesz stronę, użyj…

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

Jeśli chcesz, aby wszystkie publiczne typy postów (oprócz załączników) ustaw argument typu posta na 'any'. Wtedy możesz uzyskać więcej niż jeden wynik, ponieważ ślimaki nie są unikalne dla różnych typów postów.

fuxia
źródło
4

Możesz uzyskać stronę według tytułu za pomocą get_page_by_title()funkcji.

Możesz użyć tego w następujący sposób (zakładając, że chcesz wyświetlić treść):

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

BTW, aby uzyskać stronę za pomocą ślimaka:

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'));
Sisir
źródło
4

Jeśli na stronie z danym ślimakiem

Czytaj o tagach warunkowych :
is_page()bierze również ślimak jako argument.

W związku z tym,

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

zrobi co chcesz.

Jeśli na innej stronie

Jeśli chcesz dowiedzieć się, jak pobrać treść postu / strony na podstawie informacji o ślimaku, gdy nie ma go na tej stronie, możesz również nakarmić get_postsślimaka. Nie jest to udokumentowane w kodeksie.

Następujący pobierze identyfikator z ślimaka:

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

// echo fetched content
echo $posts_from_slug[0]->post_content;
Johannes Pille
źródło
2

Zastosowanie get_page_by_path.

Składnia

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

Parametry

Przykład:

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

więcej informacji znajdziesz w Opisie funkcji WordPress

Używam tego kodu, gdy zapełniam szablon kompozycji na stronie,

        $about = get_page_by_path('about'); 
        $content = apply_filters( 'the_content', $about->post_content ); 
        echo $content;
PlanetHackers
źródło