Wordpress - sayfaları ve mesajların dışında kullanımı comment-sistemi

5 Cevap php

yani şu anda ben pods özel malzeme ile dolu bir günlüğüne için bazı bireysel sayfaları oluşturmak için kullanıyorum.

şimdi ben bu sayfaların her biri, örneğin için yorumlar sistemini kullanmak istiyorsanız:

mydomain.com/podpages/page1
mydomain.com/podpages/page2
mydomain.com/podpages/page3

Bu wordpress yüzden sadece ekleyerek <?php comments_template(); ?> çalışmıyor ile oluşturulan not sayfalarıdır.

any ideas how to solve this problem? thanks in advance

bir şey belirsiz, bir yorum bırakın lütfen :)

5 Cevap

Yorum WordPress veritabanında saklanır zaman yazı (veya sayfa) kimliği açıklama kayıtlı olduğu ile ilgilidir.

Sorun WordPress kullanarak yorum kurtarmaya çalışıyoruz, ama bir sayfa için o etmez aslında know hakkında.

Peki, biz her real sayfası için WordPress sayfası oluşturmak, ancak hakkında sadece bir representation, gerçek sayfaları ve WordPress için ortak bir zemin var ki birbirleri ile çalışıyor.

Yani, burada bir plan olduğunu;

  • 'Gerçek' sayfaların her arka planda WordPress yükleyin.
  • WordPress sayfa gösterimi zaten 'gerçek' bir sayfa için varsa görün
  • O zaman ve orada, onu yaratmak değilse
  • Biz aslında temsilini görüntülemekte olduğunuz düşünce içine WordPress Trick
  • Normalde yaptığınız gibi RP'nin fonksiyonları ve 'şablon etiketleri' bütün kullanmaya devam

Bu kod, 'gerçek' sayfaları işlemek için kullanılan şablon dosyasının başında bir yerde olmalı;

include ('../path/to/wp-load.php');

// remove query string from request
$request = preg_replace('#\?.*$#', '', $_SERVER['REQUEST_URI']);

// try and get the page name from the URI
preg_match('#podpages/([a-z0-9_-]+)#', $matches);

if ($matches && isset($matches[1])) {
    $pagename = $matches[1];

    // try and find the WP representation page
    $query = new WP_Query(array('pagename' => $pagename));

    if (!$query->have_posts()) {
        // no WP page exists yet, so create one
        $id = wp_insert_post(array(
            'post_title' => $pagename,
            'post_type' => 'page',
            'post_status' => 'publish',
            'post_name' => $pagename
        ));

        if (!$id)
            do_something(); // something went wrong
    }

    // this sets up the main WordPress query
    // from now on, WordPress thinks you're viewing the representation page       
}

GÜNCELLEME

Ben bu aptal olduğuna inanamıyorum. Aşağıda dış if içeride cari kod değiştirmeniz gerekir;

// try and find the WP representation page - post_type IS required
$query = new WP_Query(array('name' => $pagename, 'post_type' => 'page'));

if (!$query->have_posts()) {
    // no WP page exists yet, so create one
    $id = wp_insert_post(array(
        'post_title' => $pagename,
        'post_type' => 'page',
        'post_status' => 'publish',
        'post_name' => $pagename,
        'post_author' => 1, // failsafe
        'post_content' => 'wp_insert_post needs content to complete'
    ));
}

// this sets up the main WordPress query
// from now on, WordPress thinks you're viewing the representation page
// post_type is a must!
wp(array('name' => $pagename, 'post_type' => 'page'));

// set up post
the_post(); 

PS I üzerinde query_var name kullanarak düşünmek pagename daha uygundur - oldukça salyangoz 'yol' den, sülük sorgular.

Ayrıca, or, bir fonksiyonu ile yönlendirme filtre adı redirect_to ve yönlendirmek istediğiniz URL değeri ile form içinde bir giriş koyabilir ya gerekir comment_post_redirect, doğru URL'yi dönen üzerine bağladım.

eklemek

require('/path/to/wp-blog-header.php');

wp dosyaları dahil etmek. Bu size ihtiyacınız olan tüm fonksiyonları / verileri vermelidir.

Eğer günlük verilerini görüntülemek wordpress sayfaları oluşturabilir miyim? Bunun için yeni bir şablon gerekebilir. WordPress ardından yorumlarınızı bağlanmak şey olacak.

Bunun için WordPress kullanmak gerekir mi? , Belki bu SO soru şey olur değilse: Unobtrusive, self-hosted comments function to put onto existing web pages

Sadece yeni kimliği ile wordpress-comment-kısmını tedarik - (100.000 + Sayfalarınız yani olduğu) her zamanki mesaj ulaşmak asla bir şey ile başlamak

I don't know exactly if in wordpress it's a function (saveComment i.e.), but if it is so, just use it in your page with he custom ID. You will nevertheless have to insert the Comments-form yourself.

Ve 100.000 'den kimlikleri girdileri değil haber entires alır sorguyu değiştirmek unutmayın.

Ya da kimlikleri ile standart Worpress-malzeme görüntüler kendi şablon yazabilirsiniz < 100.000, veya başka sayfaları.

Özetliyordu, çok zor olmamalı.

ps: Eğer sadece wordpress-giriş kullanmak istiyorsanız, daha sonra herhangi bir açıklama sistemi kullanmak veya kendi yapmak (bir 1saat-şey) ve worpress-oturumu kullanın / kimlik doğrulaması.