Selam arkadaşlar. Sitemizde bulunan yazıları başka formatlarda gösterebilmeye çalışıyoruz. Mesela bir yazı var diyelim sitemizde. Bunun bir linki var. O linke tıklayınca default formata gitmesini, bir de oluşturduğumuz başka bir linke tıklayınca başka formatta o yazıyı açmasını istiyoruz. Bunun için bir kod bulduk.

//add my_print to query vars
function add_print_query_vars($vars) {
    // add my_print to the valid list of variables
    $new_vars = array('my_print');
    $vars = $new_vars + $vars;
    return $vars;
}

add_filter('query_vars', 'add_print_query_vars');

add_action("template_redirect", 'my_template_redirect_2322');

// Template selection
function my_template_redirect_2322()
{
    global $wp;
    global $wp_query;
    if (isset($wp->query_vars["my_print"]))
    {
        include(TEMPLATEPATH . '/my_print_themplate.php');
        die();

    }
}
Bu kodu function.php ye entegre ettikten sonra şöyle bir link yapısı oluşturmamız gerekiyor. Sonra my_print_themplate.php oluşturmalıyız. O da şöyle:

<?php
    define('WP_USE_THEMES', false);
    query_posts('p='.$_GET['pid']);
    if (have_posts()){
        while ( have_posts() ) { the_post();
        echo '[post-content id=15500]';   
	 the_content();
        }
    }else{
    echo 'nothing found';
    }
?>
Daha sonra şu formatta link oluşturmalıyız. Örnek..
siteadi.com/?my_print=$post_id

Bu linkide oluşturuyoruz ama sorun şu. Sağlıklı çalışmıyor. Single.php formatına yönlendireceğine index php formatına yönlendiriyor. Son 5 yazının içeriği çıkıyor. Deneme amaçlı mesela bu linke bakabilirsiniz...
www.kurankuran.net/?my_print=60

neyi yanlış yapıyoruz arkadaşlar? Yardım ederseniz çok sevinirim