Slug kullanarak sayfa içeriği alma


9

Sadece slug dizesini bildiğimde sayfa içeriği almaya çalışıyorum.

Bunun için bir işlev var mı, ya da bunu yapmanın kolay bir yolu var mı ya da bu SQL ile yapmanın bir örneği mi?

Çok teşekkürler

Yanıtlar:


30

get_posts()Ve nameslug olan parametreyi kullanın :

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

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

Yazı tipinin get_posts()varsayılan olarak ayarlandığını unutmayın 'post'. Bir sayfa kullanmak istiyorsanız …

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

Tüm genel gönderi türlerinin (ekler hariç) olmasını istiyorsanız gönderi türü bağımsız değişkenini ayarlayın 'any'. Sümüklü böcekler farklı yazı tiplerinde benzersiz olmadığından, birden fazla sonuç alabilirsiniz.


4

Bir sayfayı get_page_by_title()fonksiyonunu kullanarak başlığına göre alabilirsiniz .

Bunu şu şekilde kullanabilirsiniz (içeriği göstermek istediğinizi varsayarak):

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

BTW, slug kullanarak sayfa almak için:

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

4

Slug söz konusu olan sayfada

Koşullu etiketler hakkında bilgi edinin :
is_page()sümüğü bağımsız değişken olarak alır.

Bu nedenle,

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

istediğini yapacak.

Başka bir sayfadaysanız

Bahsedilen sayfada değilken bir bilgi dosyasına göre posta / sayfa içeriğinin nasıl getirileceği ile ilgileniyorsanız, bir bilgi dosyasını da besleyebilirsiniz get_posts. Bu kodx'te belgelenmemiştir.

Aşağıdakiler kimliği bir bilgi dosyasından alır:

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

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

2

Kullanın get_page_by_path.

Sözdizimi

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

Parametreler

Misal:

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

daha fazla bilgi için bkz. WordPress İşlev Başvurusu

Bir sayfadan bir tema şablonu doldururken bu kodu kullanıyorum,

        $about = get_page_by_path('about'); 
        $content = apply_filters( 'the_content', $about->post_content ); 
        echo $content;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.