Soru Post başlığından WordPress Yayın Kimliği alın


Geliştirdiğim özel bir WordPress temasıyla ilgili bir sorunum var. Biraz sarsılmış, ama esasen yapmam gereken şey Post Title’a göre bir Posta Kodu almak. Sözde kodda, ideal olarak şöyle bir şey olurdu:

title = "foo";
post_id = get_post_id_where_title_is(title);

Belirtilen başlık, WordPress’ten alınmayan statik bir referanstır, sayfada zaten mevcut.

Şimdiden teşekkürler.


44
2017-10-08 09:33


Menşei




Cevaplar:


Sadece bu konuda tökezleyen herkes için hızlı bir not:
get_page_by_title () şimdi herhangi bir yazı tipi işleyebilir.
$post_type WP 3.0'a parametre eklendi.


84
2017-08-01 09:26



Bazı isteğe bağlı mySQL sorgularından daha iyi bir çekirdek işlevi kullanmak için +1 her zaman daha iyidir. - Tom Auger
Ancak işlev adı kafa karıştırıcı. - msiemens


Bununla bir başkası uğraşırsa bir çözüm buldum. Sadece test / Googling 4 saat sonra umutsuzluk sorusu gönderdi!

function get_post_by_title($page_title, $output = OBJECT) {
    global $wpdb;
        $post = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type='post'", $page_title ));
        if ( $post )
            return get_post($post, $output);

    return null;
}

Bulundu: http://sudarmuthu.com/blog/2009/09/18/retrieving-posts-and-pages-based-on-title-in-wordpress.html


19
2017-10-08 10:01



Sadece bu işlevi functions.php dosyanıza koyun. - Littlejon
Bir sayfanın kimliğini öğrenmek istiyorsanız, post_type öğesini 'page' olarak değiştirmek isteyebileceğinizi unutmayın. Ayrıca, post_type öğesinin tüm düzeltmeleri, sayfaları ve yayınları vb. Aramak için SQL'den atlayabilirsiniz. (Diğer türlerde tüm türler.) - Arx Poetica
Kriterleri olmadığı için bunun taslak / dökülmüş versiyonları iade edebileceğinden şüpheleniyorum. status='published'.... - cale_b
Sabit şimdi, @cale_b - Ivan Castellanos


Michal Mau'nun da dediği gibi:

kullanım

$my_post = get_page_by_title( 'My Title', OBJECT, 'post' );
echo $my_post->post_content;

Onun ( $page_title, $output, $post_type ) Bir sayfa yerine kolayca bir gönderi almak için


7
2017-12-27 15:52





Bu, kodu tekrarlamanız gerekmeyecek şekilde işlev oluşturarak size daha fazla yardımcı olabilir

function get_page_id_by_title($title)
{
$page = get_page_by_title($title);
return $page->ID;
}

$title = "your title";
get_page_id_by_title($title);

2
2017-09-15 07:56





[aşağıdaki bağlantıya göre aşağıdaki kodu kullanabilirsiniz: [http://codex.wordpress.org/Function_Reference/get_page_by_title]1 )!

<?php 
$page = get_page_by_title( 'About' );
wp_list_pages( 'exclude=' . $page->ID );
?>

1
2017-11-06 05:13





Yazı ve sayfa kimliğini almanın başka bir yolu, eklenti kullanmaktır.

bir eklenti var, basitçe yaptığı şey, tüm sayfalarınıza, tüm yazılara, tüm kategorilerdeki tablolara bir sütun ekliyor ve bir sütun başlığı kimliğine sahip ... ve hemen aşağıda, tüm sayfayı / postayı göreceksiniz o sütunda listelenen kimlik ..

Bence bu çok kullanışlı olmalı.

Bu eklentiyi çok sık kullanıyorum ve çok hafif.

http://getyourblogready.com/?p=758


0
2018-06-20 19:21



Gönderme kodu, önerdiğiniz şey hakkında bir fikir edinmemiz için daha yararlı olacaktır. - nickhar


Herhangi bir SQL sorgu veya eklentisi kullanmanıza gerek yok, bunun için Wordpress standart işlevlerini kullanın

$page = get_page_by_title( 'Home' );
$page_id = $page->ID;

0
2017-10-12 08:24





wp sorgusunu kullanarak gönderi no'sundan post başlığını almak kolaydır:

global $wpdb;

$rw = $wpdb->get_row( $wpdb->prepare("select * from "your post table name" where post_title='your variable name or your post title'"));

echo $rw->ID;

0
2017-07-06 12:41





1) farklı yazı başlığı ve posta adı birbirinden. post_name belki de sümüklüdür. post_title gönderi başlığıdır.

2)

$titlee = "yourtitle";
echo $id = $wpdb->get_var("SELECT ID FROM $GLOBALS['wpdb']->posts WHERE post_name = $titlee");

0
2017-10-11 00:34



Bu soruya nasıl cevap veriyor? - James A Mohler