PDA

Orijinalini görmek için tıklayınız : WordPress İpuçları – 1



Şems
14-02-2012, 19:33
http://www.rss-ems.com/blog/wp-content/uploads/2011/06/wpipucu.png

WordPress İpuçları hakkında Türkçe ciddi bir kaynak yok, olmalı. Bu yazı serisinde 10′arlı WordPress ipucu yayınlayacağım.

Eklentisiz Olarak Yazı Görüntülenme Sayısı
Kullanıcılar her yazınıza girdiğinde functions.php’ye yazacağımız kod ile yazı görüntülenme sayısı için atatığımız değişken 1 artacak ve eklentisiz yazı görüntülenme sayısını tutabileceksiniz.
functions.php’ye ekleyin;


function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 View";
}
return $count.' Views';
}
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}

Yukarıdaki kodu çalıştırmak için single.php ‘nize aşağıdaki kodu eklemeniz yeterli;

<?php
setPostViews(get_the_ID());
?>

Eklentisiz Olarak En Popüler Yazılar
Bir üstte yer alan eklentisiz olarak yazı görüntülenme sayısı adlı ipucunu öncelikle çalıştırmanız gerekiyor. Şimdi de üstteki ipucu üzerinden en çok görüntülenen yazılarımızı popüler olarak kabul edip istediğimiz kadarını sıralayacağız. index.php ‘deki looptan önce kullanın.


<?
query_posts('meta_key=post_views_count&orderby=post_views_count&order=DESC');
?>

The_content ‘Den Görselleri Kaldırmak
Özel alanlar ile görserllerinizi kullandığınız halde RSS Feed’e görselleriniz yansısın diye yazınıza görsellerinizi ekliyor olabilirsiniz. Faka bu sefer de yazı içersinde çifte görsel oluşacaktır. Yazı içersindeki görsellerin görünmesini engellemek, the_content ‘ten görselleri kaldırmak istemiş olabilirsiniz. single.php ‘de kullanacağınız bu kod işinize yarar.


<?php
echo preg_replace('/<img[^>]+./','',get_the_content());
?>


Admin Panelinden Sekme Kaldırmak
Admin panelinde sekmeler ayrı ayrı php sayfaları olarak kodlandığından WordPress fonksiyonu functions.php’den ile bunları kaldırabiliyoruz.


add_action( 'admin_menu', 'remove_links_menu' );
function remove_links_menu() {
remove_menu_page('link-manager.php');
}

link-manager.php gibi diğer sekmelerin .php’lerini yazarak onları da kaldırabilirsiniz.

Admin Paneline Uyarı Ekleme
Bir müşteriye iş yapıp ona yetki verdiğinizde sistemi bozmayacağından emin olmak zor oluyor. Basit bir yöntem ile admin panelinizde tema sekmesine geldiğinde kendisine hata mesajı verebilirsiniz. parent_base değişkeni olan theme ‘yı tools, edit gibi diğer bölümlerle de değiştirebilir ve uyarı mesajının yanında çeşitli dersler de ekleyebilirsiniz. Div class’ını tanımlayarak iyice şekillendirmek de mümkün. Kodu functions.php ‘ye ekleyin.


add_action( 'admin_notices', 'custom_error_notice' );
function custom_error_notice(){
global $current_screen;
if ( $current_screen->parent_base == 'themes' )
echo '<div class="error"><p>Uyarı mesajı</p></div>';
}


Giriş Mesajı
functions.php’ye ekleyeceğiniz kod kullanıcılar giriş yaparken karşılama mesajı verecektir.


function custom_login_message() {
$message = '<p class="message">Merhaba</p><br />';
return $message;
}
add_filter('login_message', 'custom_login_message');

Son Giriş Yaptığınız Tarih
Kullanıcılarınıza güvenlik tedbiri olarak 2 adımda son giriş yaptıkları tarihi belirtmek isteyebilirsiniz. functions.php’ye ekleyin;


function your_last_login($login) {
global $user_ID;
$user = get_userdatabylogin($login);
update_usermeta($user->ID, 'last_login', current_time('mysql'));
}
add_action('wp_login','your_last_login');
function get_last_login($user_id) {
$last_login = get_user_meta($user_id, 'last_login', true);
$date_format = get_option('date_format') . ' ' . get_option('time_format');
$the_last_login = mysql2date($date_format, $last_login, false);
echo $the_last_login;
}

Kodu çalıştırmak istediğiniz temanızın php dosyasına ekleyin;


<?php
global $userdata;
get_currentuserinfo();
echo 'Son giris yaptiginiz tarih:';
get_last_login($userdata->ID);
?>


Admin Hariç Kimse Tinymce HTML’ye Kullanamasın
Tinymce HTML görsel tasarım açısından oldukça kullanışlı da kullanabilene. Çünkü temanın dizaynını berbat hale getirecek çeşitli kod hataları yapan kullanıcılar kesinlikle oluyor. Bunu önlemek adına tüm kullanıcılara bu seçeneği kapatın, sadece size açık olsun. functions.php’ye ekleyin;


add_filter( 'wp_default_editor', create_function('', 'return "tinymce";') );
add_action( 'admin_head', 'disable_html_editor_wps' );
function disable_html_editor_wps() {
global $current_user;
get_currentuserinfo();
if ($current_user->user_level != 10) {
echo '<style type="text/css">#editor-toolbar #edButtonHTML, #quicktags {display: none;}</style>';
}
}


İki Tarih Arasında Yayınlanan Yazıları Listeleyin
Tüm zamanların yazıları, bu sene yayınlanan yazılar gibi şeyler yapabilirsiniz.


<?php
function filter_where($where = '') {
$where .= " AND post_date >= '1980-05-11' AND post_date <= '2011-05-11'";
return $where;
}
add_filter('posts_where', 'filter_where');
query_posts($query_string);
while (have_posts()) :
the_post();
the_content();
endwhile;
?>


Htaccess Ile URL Iyileştirme
.htaccess ‘e ekleyeceğiniz aşağıdaki kod ile www.website.com/wp-login.php olan WordPress giriş URL’sini www.website.com/login/ haline getirmiş olursunuz.


RewriteRule ^login$ http://website.com/wp-login.php [NC,L]
Teşekkürler.

Not: Ana bölüme konu açılamadığı için bu foruma açtım.
Kaynak. (http://www.rss-ems.com/blog/2320-wordpress-ipuclari-1-07-06-2011)

Çağrı
06-03-2012, 17:27
bu tip'leri bende bir türlü arşivleyememiştim, kfunctions.php için yazdığım okadar kodu tek bir sayfada toplamayı düşünüyordum ki açtığınız konuyu gördüm.. Bu faydalı bilgiler için teşekkürler.

unidozer
12-05-2012, 17:42
mükemmel olmuş. bir çok kişi faydalanacaktır sayenizde. teşekkürler