En son yayımladığınız Wordpress yazılarınızı, aynı ve ya farklı bir sunucuda bulunan herhangi bir web sitesi ya da bir başka WP bloğu içerisinde, yazının yayımlanma ve ya güncelleme zamanını, başlığını, içerik ve yazarının kim olduğunu belirterek göstermek istiyorsanız aşağıdaki MySQL sorgulama parçasını kullanabilirsiniz. Ancak bu çözüme geçmeden önce, alternatif çözümler olarak başvurmayı denemiş olabileceğiniz fakat dezavantajları bulunan standart metodlara kısaca göz atalım.
Söz konusu amacı gerçekleÅŸtirmek maksadıyla kullanmayı düşünmüş olabileceÄŸiniz ve aslında kuvvetli bir araç olan Wordpress Loop’unu ister standart query_posts, ister kendi döngünüzü düzenleyeceÄŸiniz WP_Query objesi ile aÅŸağıdaki ÅŸekilde gerçekleÅŸtirin, önemli iki problem ile karşılaÅŸacaksınız;
/* Wordpress blog içeriğine dış sayfalardan erişim sağlayabilmek için
* wp-load.php dosyasını, blogunuzdan (Ör: www.alanadınız.com/blog)
* çağırmalısınız. Bu kodu blog sayfaları içerisinde kullandığınızda
* bu bölüme ihtiyaç duymayacaksınız.
*/
<?php
// Include Wordpress
define('WP_USE_THEMES', false);
require('./blog/wp-load.php');
?>
/* WP Loop */
<?php
$recentPosts = new WP_Query();
$recentPosts->query('showposts=1');
?>
<?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>
Last Updated: <?php the_modified_date(); ?><br>
<?php the_title(); ?><br>
Author: <?php the_author(); ?><br>
<a href="<?php the_permalink(); ?>"><img border=0 src="http://www.alanadiniz.com/images/more.jpg" alt="more" width="60" height="18" /></a><br>
<?php endwhile; ?>
<?php rewind_posts(); ?>
Problemlerden birincisi eÄŸer güncel makalelerinizi hem statik bir sayfada, hem de aynı anda makalenizin yer aldığı blog içerisinde bir alanda (örneÄŸin; blog ön sayfasında) bir ön yazı ÅŸeklinde göstermek istiyorsanız, hedeflediÄŸiniz ön yazının statik sayfalarda düzgün gösterildiÄŸini ancak WP Loop’un doÄŸası gereÄŸi blog alanlarında en son makalenizin peÅŸi sıra diÄŸer makalelerin de listelendiÄŸini göreceksiniz. Bu sıkıntıyı aÅŸmak için yukarıdaki gibi rewind_posts direktifini kullansanız bile bu sefer blog içerisinde herhangi bir yazı sayfasına girdiÄŸinizde ön yazı bölümünüzde en son makaleniz yerine o anda incelemekte olduÄŸunuz makalenin belirdiÄŸini göreceksiniz. İkinci problem ise bir blogtaki yazınızı tamamen farklı bir blog içerisinde göstermek istiyorsanız bu kez loop’un gerçekleÅŸtirildiÄŸi blog sadece kendi veritabanı için döngü saÄŸladığı için diÄŸer blog ile veri alışveriÅŸi yapamayacaksınız.
Tüm bu sorunları yaşamamak ve en güncel makalenizi dilediğiniz yerde dilediğiniz şekilde gösterebilmek adına, hazırlamış olduğum aşağıdaki MySQL sorgulama parçacığını kullanmanızı tavsiye ediyorum. Bu sorgulamayı sayfanızda seçtiğiniz herhangi uygun bir yere yerleştirerek kullanabilirsiniz.
<?php
$host="localhost";
$username="username";
$password="password";
$database="wp_db_name";
mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
/* WP MySQL query */
$query = "SELECT *, DATE_FORMAT(post_date, '%d-%m-%Y %k:%i') AS post_date, DATE_FORMAT(post_modified, '%d-%m-%Y %k:%i') AS post_modified FROM wp_posts WHERE post_status = 'publish' ORDER BY id DESC LIMIT 1";
$result = mysql_query ($query) or die (mysql_error());
while ($row = mysql_fetch_array($result))
{
$date = $row['post_date'];
$modified = $row['post_modified'];
$title = $row['post_title'];
$excerpt = $row['post_excerpt'];
$id = $row['post_author'];
$link = $row['guid'];
}
$query2 = "SELECT display_name FROM wp_users WHERE ID=$id";
$result2 = mysql_query ($query2) or die (mysql_error());
while ($row2 = mysql_fetch_array($result2))
{
$author = $row2['display_name'];
}
?>
Last Updated: <?php echo "$modified"; ?><br>
<?php echo "$title"; ?><br>
Author: <?php echo "$author"; ?><br>
<a href="<?php echo "$link"; ?>"><img border=0 src="http://www.alanadiniz.com/images/more.jpg" alt="more" width="60" height="18" /></a>
Elbette çıktınızı, $modified yerine $post_date ve ya ek olarak $excerpt değişkenlerini kullanarak değiştirebilir ve ya sorgulama değişkenlerini çeşitli table dizaynları içerisine yerleştirerek görsel olarak zenginleştirebilirsiniz.
İlgili Makaleler
İlgili makale bulunamadı.






RSS feed for comments on this post.




