Hüseyin MERT

Sadece teknoloji değil…

Wordpress’te site içeriği olan sayfa yapmak

buzzla tweetle PHP, Wordpress17 Şubat 2010 1

Kendi sitemdeki şu anki içeriği sunan bir sayfa var bunun kodlarını paylaşayım. Bu aşağıdaki kodu sitemap.php diye kaydedip bunuda template içine atmanız gerekmekte, fakat şöyle bir durum var. Burdaki kodlar benim siteme uygun şekilde still giydirildiği için normal bir page.php’nin içine <div id=”sitemap”>…</div> ‘i yapıştırp bunu da farklı kaydedip benim blogumdaki gibi bir site haritanız olabilir.

Kodlara bir açıklama girmeye gerek görmedim, zira kodlar wordpressin kendi fonksiyonları.

<?php
/*
Template Name: Sitemap
*/
?>
<?php get_header(); ?>
<div id="mid" class="fix">
	<div id="mainCol" class="fix"><a name="main"></a>
		<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
		<div class="yazi" id="post-<?php the_ID(); ?>">
			<h2><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title() ?></a></h2>
			<div class="yazi_bilgisi"><span class="date">&nbsp;<?php edit_post_link(' (D)', '', ''); ?></span></div>
			<div style="margin-left:20px;">
				<h4 style="color:red;">Sayfalar:</h4>
				<ul class="simgeli sayfa">
					<?php wp_list_pages('title_li='); ?>
				</ul>
 
				<h4 style="color:red;">Tüm yazılar:</h4>
				<ul class="simgeli">
					<?php $archive_query = new WP_Query('showposts=1000');
						while ($archive_query->have_posts()) : $archive_query->the_post(); ?>
					<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a> <i style="color:green;">( <?php the_time('d F Y') ?> )</i></li>
					<?php endwhile; ?>
				</ul>
 
				<h4 style="color:red;">Aylık:</h4>
				<ul class="simgeli tarih">
					<?php wp_get_archives('type=monthly&show_post_count=true'); ?>
				</ul>
 
				<h4 style="color:red;">Kategorilere göre:</h4>
				<ul class="simgeli kategori">
					<?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0&feed=RSS'); ?>
				</ul>
 
				<h4 style="color:red;">RSS:</h4>
				<ul class="simgeli rss">
					<li><a href="<?php bloginfo('rdf_url'); ?>" title="RDF/RSS 1.0 feed"><acronym title="Resource Description Framework">RDF</acronym>/<acronym title="Really Simple Syndication">RSS</acronym> 1.0 feed</a></li>
					<li><a href="<?php bloginfo('rss_url'); ?>" title="RSS 0.92 feed"><acronym title="Really Simple Syndication">RSS</acronym> 0.92 feed</a></li>
					<li><a href="<?php bloginfo('rss2_url'); ?>" title="RSS 2.0 feed"><acronym title="Really Simple Syndication">RSS</acronym> 2.0 feed</a></li>
					<li><a href="<?php bloginfo('atom_url'); ?>" title="Atom feed">Atom feed</a></li>
				</ul>
			</div>
		</div>
		<?php endwhile; else: ?>
		<div class="yazi">
			<h2>Hata var</h2>
			<div class="entry">
				<p>Ne yapak?</p>
			</div>
		</div>
		<?php endif; ?>
	</div>
</div>
<?php get_footer(); ?>

Wordpress’te yazıya özel css

buzzla tweetle Wordpress29 Kasım 2009 1

Bazen ihtiyaç olur, yazının içinde birkaç elemente css ile müdahale etmek istersiniz, ama head dışında style yapmak istemezsiniz, o zaman bu aşağıdaki küçük kodu header.php içinde ‘den evvel bir yere koyun, ve yazınızda özel alanlarda css isimli bir özel alana dilediğiniz gibi css kod ekleyebilirsiniz.

ozel-alan

<?php
if (is_single()) {
	$css = get_post_meta($post->ID, 'css', true);
	if (!empty($css)) {
		echo'<style type="text/css">'.$css.'</style>';
	}
}
?>

RSS okuyucularınızı Feedburner hesabınıza yönlendirmek

buzzla tweetle Wordpress16 Ağustos 2009 2

Wordpress veya rss sağlayabilen başka cmslerde dilerseniz beslemelerinizi(feed) feedburnere yönlendirebilirsiniz. Böylece sizi kaç kişi takip ediyor bunu görürsünüz. Normalde sitenize feedburner’ın linkini koyaraktan siteyi takip edin diyorsunuz fakat tüm rss takipçilerinize bu şekilde ulaşamayabilirsiniz. Ondan gelecek tüm rss istekleriniz htaccess ile feedburner hesabınıza yönlendirmiş olacaksınız böylece.

Aşağıdaki kodta hmert yazan kısmı kendi kullanıcı adınızı yazaraktan mevcut .htaccess’inizin “# END WordPress” yazan yerinden sonra gelecek şekilde yazıp dosyayı kaydediyorsunuz.

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(feed|wp-atom|wp-feed|wp-rss|wp-rdf)(.+)\ HTTP/ [NC,OR]
RewriteCond %{QUERY_STRING} ^feed [NC]
RewriteCond %{HTTP_USER_AGENT} !^(FeedBurner|FeedValidator) [NC]
RewriteRule .* http://feeds2.feedburner.com/hmert? [R=307,L]

Bu işlemi yaparken sisteminizin başına gelecek herhangi bir zarardan sadece siz sorumlusunuz, ben sorumlu değilim.

Wordpress’te Rastgele yazılar fonksiyonu

buzzla tweetle PHP, Wordpress08 Ağustos 2009 3

[sourcecode lang="php"]
function wp_get_random_posts ($limitclause=”") {
global $wpdb, $tableposts, $post;

$q = “SELECT ID, post_title, post_date, comment_count FROM $tableposts WHERE post_status = ‘publish’ AND post_type = ‘post’ AND ID != $post->ID ORDER BY RAND() $limitclause”;
return $wpdb->get_results($q);
}

function wp_random_posts ($number = 10){
$limitclause=”LIMIT ” . $number;
$random_posts = wp_get_random_posts ($limitclause);

foreach ($random_posts as $random_post ){
$output .= ‘

  • ‘;

    $output .= ‘‘ . $output . ‘

    ‘;

    echo $output;
    }
    [/sourcecode]

    [sourcecode lang="php"]echo wp_random_posts();[/sourcecode]
    diyerekten kullanılabilir sanırsam, tam emin değilim yarın kontrol ederim. Birisi sordu ff’de. Neyse yarın bakarım.

  • Wordpress Taşırken Veritabanında Yapılacak Düzenlemeler

    buzzla tweetle Wordpress14 Aralık 2008 5

    Wordpress ile kurduğunuz günlüğünüzü (blog) farklı bir adrese taşımak istediniz fakat sürekli hatalar ve eski adreslere yönleniyorsa bu aşağıda yapacaklarınız size çözüm için en sağlam 2 seçenek olur. Bu yaptıklarımız başka adrese taşırken yapılacaklar arasında aslında. Misal ben wp’nin taşıma sistemini kullanmak yerine tüm dosyları yeni sunucuma atıp ardından da aşağıdaki iki seçenekten birini yaparaktan işlemimi tamamlamış oluyorum.

    1. Seçenek: SQL Sorgusu kullanarak

    Sitenizi phpmyadmin üserinden sql dosyasını kaydeterek aldınız. Bunu da phpmyadmin ile sitenize yüklediniz. Fakat bazı yazılarda veya dosylarda eski adresinize gitmeye çalışıyorsa şu aşağıdaki sorguları phpmyadminde çalıştırmanız gerekli.

    UPDATE wp_options SET option_value = REPLACE(option_value, "http://www.eski-adres.com", "http://www.yeni-adres.com") WHERE option_name ="home" OR option_name = "siteurl";
    UPDATE wp_posts SET guid = REPLACE(guid, "http://www.eski-adres.com","http://www.yeni-adres.com");
    UPDATE wp_posts SET post_content = REPLACE(post_content, "http://www.eski-adres.com","http://www.yeni-adres.com");

    2. Seçenek: Yedek dosya üzerinde Değişiklik yaparak

    Fakat böyle yapmadınız.  Sql dosyasını indirdiniz localhost.sql gibi birşeydir. Bunu bir metin düzenleyici(notepadd++) program ile açıp içinde

    Bunu ara: http://www.eski-adres.com
    Bununla değiştir: http://www.yeni-adres.com

    Bu şekilde dosyanın tümünü değiştirirseniz tüm adres bilgileriniz güncellenmiş olur.
    Güncelleme: Yukarıdaki SQL cümleciklerinde (tektırnak) (çift tırnak) olarak değiştirilmiştir. Hatayı bulan deliprofesor‘e teşekkürler.

    Sayfa: 1 2 Sonraki