<script type="text/javascript"> function kaybet(idi) { if (self.document.getElementById(idi).style.display == 'none') { self.document.getElementById(idi).style.display = 'block'; self.document.getElementById(idi+'_link').innerHTML = 'Reklamı Kapat ▲' }else { self.document.getElementById(idi).style.display = 'none'; self.document.getElementById(idi+'_link').innerHTML = 'Reklamı Göster ▼' } } </script> <a href="javascript:kaybet('reklam_yeri');" id="reklam_yeri_link">Reklamı Kapat ▲</a> <div id="masthead" style="background:#FFCC00;"> reklam kodlari </div>
WordPress admin alanı için CSS eklemek
WordPress admin alanı için CSS eklemek istiyorsak CSS dosyamızı hazırlayıp admin.css olarak tema dosyalarımızın içerisine kaydediyoruz. Sonrasında function.php dosyasına aşağıdaki kodları giriyoruz;
function admin_theme_style() { wp_enqueue_style('custom-admin-style', get_template_directory_uri() . '/css/admin.css'); } add_action('admin_enqueue_scripts', 'admin_theme_style');
Kullanıcı Profiline Yeni Alanlar Eklemek
WordPress üyelik sistemiyle gelen kullanıcı profilindeki alanlar çoğu zaman yetersiz kalabilir. Bunları artırmak ve bu kısma özel alanlar eklemek, sonrasında da bu alanları dilediğimiz yerde gösterebilmek için functions.php dosyasına aşağıdaki satırları ekliyoruz: Okumaya devam et Kullanıcı Profiline Yeni Alanlar Eklemek
WordPress otomatik eklenen youtube kodunu değiştirmek
WordPress ile bir yazı yazarken eklediğiniz youtube linki otomatik olarak embed koduna çevrilir ve bir video eklenir. Otomatik olarak eklenen kodda belirli yükseklik ve genilik bilgileri vardır bunlara müdahale edebilmek için function.php dosyasına aşağıdaki satırlar eklenebilir:
add_filter( 'embed_defaults', 'bigger_embed_size' ); function bigger_embed_size() {return array( 'width' => 600, 'height' => 430 );}
WordPress varsayılan Gallery biçimini kaldırmak
WordPress ile yazınıza birkaç resimden oluşan bir galeri eklediğinizde bu galeri için bir de biçimleme style eklemesi yapacaktır. Bunu istemiyorsanız function.php dosyasına aşağıdaki satırları girmelisiniz:
add_filter( 'use_default_gallery_style', '__return_false' );
www olmadan yazılanları www olarak yönlendirmek
Browser adres barına www olmadan yazılanları www olarak yönlendirmek için .htaccess dosyasına aşağıdaki satırlar yazılmalıdır.
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^andlog.com [NC] RewriteRule ^(.*)$ http://www.andlog.com/$1 [L,R=301]
Belli bir karakterle başlayan komutlara stil
Örneğin sadece “http:” ile başlayanlara uygulanmasını istiyorsanız.
a[href^="http:"] {color:#333;}
Sadece ilk elemana uygulanmasını isteğimiz biçimler için ise aşağıdaki şekilde kullanılır.
ul li:first-child{ margin-left:0 }
Excerpt özelleştirmesi
Excerpt özelleştirmesi son kısım için;
function new_excerpt_more( $more ) { return '..'; } add_filter('excerpt_more', 'new_excerpt_more');
Excerpt özelleştirmesi kelime saysını değiştir;
function custom_excerpt_length( $length ) { return 16; } add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
Eklentinin güncelleme bildirimini gizlemek
WordPress temasının function.php dosyasına aşağıdaki kodu ekleyerek belli bir eklentinin güncelleme bildirimini admin ekranında gizleyebiliriz.
add_filter('site_transient_update_plugins', 'dd_remove_update_nag'); function dd_remove_update_nag($value) { unset($value->response[ plugin_basename('quick-event-manager/quick-event-manager.php') ]); return $value; }
Conditional, şartlı sayfa şablonları
WordPress ile tek bir sayfa şablonunda şartlı kullanım yapılabilir.
<?php if (is_page()) { ?> Page ise burası.. <?php } elseif (is_single()) { ?> Tekil bir post ise burası.. <?php } elseif (is_category()) { ?> Kategori arşivi ise burası.. <?php } elseif (is_author()) { ?> Yazar arşivi ise burası.. <?php } elseif (is_home()) { ?> Anasayfa ise burası gösterilir. <?php } else { ?> <?php } ?>
Özel bir page, post, category vs ise is_page(‘hakkimizda’) ya da is_category(‘5’)şeklinde tek bir tanımlama da yapılabilir. Başka bir şekilde de eğer yazımız belli bir kategoriye aitse… şeklinde kullanılabilir.
<?php if (in_category('nikon')) { ?> Kategori bilgisi nikon ise bu kısmı göster.. <?php } elseif (in_category('canon')) { ?> Kategori bilgisi canon ise bu kısmı göster.. <?php } else { ?> <?php } ?>
WordPress toplam Kategori, Yorum ve Yazı Sayısı
WordPress tabanlı bir wesitesinde toplam Kategori, Yorum ve Yazı Sayısı bulma ve göstermek için kullanacağımız şablonun içerisinde aşağıdaki kodları ekliyoruz;
<?php $toplam_yazi = wp_count_posts( 'post' ); $toplam_yazi = $toplam_yazi->publish; $toplam_kategori = wp_count_terms('category'); $toplam_yorum = get_comment_count(); $toplam_yorum = $toplam_yorum['approved']; echo 'Toplam '; echo $toplam_kategori; echo ' kategori, '; echo $toplam_yazi; echo ' yazı ve '; echo $toplam_yorum; echo' yorum bulunmaktadır.'; ?>
Öne çıkarılmış görsel varsa veya yoksa gösterilecek
Eğer yazımızda Öne çıkarılmış görsel yoksa ve onun yerine standart bir image kullanmak istiyorsak;
<?php if ( has_post_thumbnail()) : ?> Öne çıkarılmış görsel var burada göster <?php else : ?> Öne çıkarılmış görsel yoksa burayı göster <?php endif; ?>
Yazıya resim eklerken width height değerlerini eklememek
WordPresste herhangi bir yazıya resim eklediğimizde width height değerleri ile birlikte eklenir. Eğer bunu istemiyorsak, function.php dosyasına aşağıdaki satırları eklemeliyiz;
add_filter( 'get_image_tag', 'remove_width_and_height_attribute', 10 ); add_filter( 'use_default_gallery_style', '__return_false' ); add_filter( 'post_thumbnail_html', 'remove_width_and_height_attribute', 10 ); add_filter( 'image_send_to_editor', 'remove_width_and_height_attribute', 10 ); function remove_width_and_height_attribute( $html ) { return preg_replace( '/(height|width)="\d*"\s/', "", $html ); }
query_posts sonrası sayfalama sorunu çözümü
query_posts kullandıktan sonra, özellikle posts_per_page parametresi kullanınca sayfalama ile ilgili bir sorun yaşıyoruz. Bunun üstesinden gelmek için query_posts satırının heme üzerine aşağıdaki kodu ekliyoruz.
<php $paged = (get_query_var('page')) ? get_query_var('page') : 1; ?>
Bir PHP dosyasını başka birinin içerisine eklemek
WordPress için aşağıdaki şekilde kullanılır;
<?php include (TEMPLATEPATH . '/slider.php'); ?>
Admin Panelde post thumbnail göstermek
Aşağıdaki satırları function.php dosyasına ekliyoruz;
// admin Panelde post thumbnail add_filter('manage_posts_columns', 'posts_columns', 5); add_action('manage_posts_custom_column', 'posts_custom_columns', 5, 2); function posts_columns($defaults){ $defaults['voodoo_post_thumbs'] = __('Resim'); return $defaults; } function posts_custom_columns($column_name, $id){ if($column_name === 'voodoo_post_thumbs'){ echo the_post_thumbnail( array(80,80) ); } }
Temaya custom Login Logo eklemek
WordPress logosunu ve bağlantısını değiştirmek için aşağıdaki satırları function.php dosyasına ekliyoruz;
// custom login ekranı function my_login_logo_url() { return get_bloginfo( 'url' ); } add_filter( 'login_headerurl', 'my_login_logo_url' ); function my_login_logo_url_title() { return 'Fotojenik'; } add_filter( 'login_headertitle', 'my_login_logo_url_title' ); function custom_login_logo() { echo '<style type="text/css"> h1 a { width: 216px !important; background-size: 216px auto !important; background-image:url('. get_bloginfo( 'template_directory' ) .'/images/site-login-logo.png) !important; } </style>'; } add_action('login_head', 'custom_login_logo');
site-login-logo.png dosyamız yeni logomuz ve genişliğinin 216 piksel..
Daha detaylı bir Login sayfası hazırlamak için; Customizing the Login Form
WordPress sayfalamasını page yerine sayfa olarak göstermek
WordPress sayfalamasını adres çubuğunda page yerine sayfa olarak göstermek için function.php dosyasına aşağıdaki kodları eklemek gerekecektir.
function page_yerine_sayfa() { global $wp_rewrite; $wp_rewrite->pagination_base = 'sayfa'; $wp_rewrite->flush_rules(); } add_action( 'init', 'page_yerine_sayfa', 1 );
WordPress yazı sürümlerini (revision) durdurmak ve silmek
Yazı sürümlerinin kaydedilmesini durdurmak için wp-config.php dosyasına aşağıdaki satırı eklemeliyiz.
define('WP_POST_REVISIONS', false);
Ya da belirli bir sayıda kaydetmesini istiyorsak, örneğin son 3 adet sürümü saklamasını istiyorsak, aşağıdaki şekilde kullanmalıyız;
define ('WP_POST_REVISIONS',3);
Daha önceden kaydedilmiş tüm yazılarım tüm eski sürümlerini silmek istiyorsak, phpmyadmin ile database bağlantısı sağladıktan sonra aşağıdaki sorguyu çalıştırmalıyız.
DELETE FROM wp_posts WHERE post_type = "revision";
WordPress sayfalarına özet kısmını eklemek
WordPress yazılarında bulunan “özet” kısmı sayfalarda bulunmuyor. Bunu sayfa sistemine de eklemek için aşağıdaki kodu temaya ait function.php dosyasına eklemek yeterli olacaktır.
add_post_type_support( 'page', 'excerpt' );