Yine bir hack (sistem kodu düzenlemesi) konusu ile karşınızdayız. Bu defa yapacağımız işlem, Sidebar Bileşenlerinde gördüğümüz, “Meta” bileşenini düzenlemek olacak. Buna belki ihtiyacınız olmayabilir. Ancak ben, üyelerin gereksiz bir kaç linkle boğulmalarını istemediğim için, üye girişi yapanların, “Yazılar RSS, Yorumlar RSS ve WordPress” linkini görmelerini engelleyeceğim.
Yapmanız Gereken İşlemler
- wp-includes klasörü içerisindeki widgets.php dosyasını yedekleyin. (düzenlemeler bu dosya üzerinde olacağı için ne olur ne olmaz
) - widgets.php dosyasını açın.
- 848. satıra gelin yada:
function wp_widget_meta
araması yaptırın.
- İlgili satırı bulduktan sonra, kodlarınızın bu şekilde olup olmadığını kontrol edin:
function wp_widget_meta($args) { extract($args); $options = get_option('widget_meta'); $title = empty($options['title']) ? __('Meta') : apply_filters('widget_title', $options['title']); ?> <?php echo $before_widget; ?> <?php echo $before_title . $title . $after_title; ?> <ul> <?php wp_register(); ?> <li><?php wp_loginout(); ?></li> <li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php echo attribute_escape(__('Syndicate this site using RSS 2.0')); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li> <li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php echo attribute_escape(__('The latest comments to all posts in RSS')); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li> <li><a href="http://wordpress.org/" title="<?php echo attribute_escape(__('Powered by WordPress, state-of-the-art semantic personal publishing platform.')); ?>">WordPress.org</a></li> <?php wp_meta(); ?> </ul> <?php echo $after_widget; ?> <?php } - Bu kodları aşağıdakiler ile değiştirin:
function wp_widget_meta($args) { extract($args); $options = get_option('widget_meta'); $title = empty($options['title']) ? __('Meta') : apply_filters('widget_title', $options['title']); ?> <?php echo $before_widget; ?> <?php echo $before_title . $title . $after_title; ?> <ul> <?php wp_register(); ?> <li><?php wp_loginout(); ?></li> <?php if(!is_user_logged_in()) { ?> <li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php echo attribute_escape(__('Syndicate this site using RSS 2.0')); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li> <li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php echo attribute_escape(__('The latest comments to all posts in RSS')); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li> <li><a href="http://wordpress.org/" title="<?php echo attribute_escape(__('Powered by WordPress, state-of-the-art semantic personal publishing platform.')); ?>">WordPress.org</a></li> <?php } ?> <?php wp_meta(); ?> </ul> <?php echo $after_widget; ?> <?php } - Dosyayı kaydedin ve kapatın. İşlemimiz tamamlandı.
AÇIKLAMALAR
Yukarıdaki kodda fark edeceğiniz gibi, !is_user_logged_in fonksiyonu kullandık. Bu fonksiyon WordPress’in giriş yapmış kullanıcı olup olmadığını kontrol etmekle görevli fonksiyonudur.
Eğer sadece giriş yapan üyelere özel başka bir sitenin linkini göstermek isterseniz:
function wp_widget_meta($args) {
extract($args);
$options = get_option('widget_meta');
$title = empty($options['title']) ? __('Meta') : apply_filters('widget_title', $options['title']);
?>
<?php echo $before_widget; ?>
<?php echo $before_title . $title . $after_title; ?>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php if(is_user_logged_in()) { ?>
<li><a href="http://uyelereozelsiteadresi.com">Üyelere Özel Site</a></li>
<?php } ?>
<?php if(!is_user_logged_in()) { ?>
<li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php echo attribute_escape(__('Syndicate this site using RSS 2.0')); ?>"><?php _e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
<li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php echo attribute_escape(__('The latest comments to all posts in RSS')); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
<li><a href="http://wordpress.org/" title="<?php echo attribute_escape(__('Powered by WordPress, state-of-the-art semantic personal publishing platform.')); ?>">WordPress.org</a></li>
<?php } ?>
<?php wp_meta(); ?>
</ul>
<?php echo $after_widget; ?>
<?php
}
Böylece üyelere özel linklerde gösterebilirsiniz
DÜZENLEMELER
- Yukarıdaki düzenlemeler wordpress 2.7.x sürümleri için geçerliliğini korumaktadır.
- WordPress 2.8.x sürümlerinin, yeni düzenlemelerini okumak için WordPress Meta Bileşenini Düzenlemek 2 isimli konumuzu okumanız gerekmektedir!
“WordPress Meta Bileşenini Düzenlemek” için 12 Yorum var
saolasın emeklerine ellerine herşeyine sağlık dostum.
Selamlar kardeş güzel yazmışsında bu açık son version olan 2.9.1 de nasıl olacak sölersen seviniriz? bu tedbir en son sürümede geçerlimi?
güzel
Этот афоризм?
Даа… В некоторые жизненные моменты волосы могут шевелиться не только на голове
Çok teşekkürler
for the private messaging plugin. sorry.
Suggestion: E-mail users of a new PM.
Ohh, I was thinking, what does he say
Maybe on v2 release
I’m working a new plugin like facebook wall. Our readers are testing it. Maybe next days, I’ll released it on wordpress.org plugin directory.
Features:
Users can write another wall.
Users send link another wall.
@username words auto links with user name posts link. Like twitter.
Users can select if the wall open or closed.
Maybe you wanna test it
Интересная идея, но надо бы подумать о рекламе на блоге. По-моему ее слишком много
Хотя, конечно – это не мое дело
Спасибо