İletiŸim

WordPress Meta Bileşenini Düzenlemek

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

  1. wp-includes klasörü içerisindeki widgets.php dosyasını yedekleyin. (düzenlemeler bu dosya üzerinde olacağı için ne olur ne olmaz :) )
  2. widgets.php dosyasını açın.
  3. 848. satıra gelin yada:
    function wp_widget_meta

    araması yaptırın.

  4. İ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
    }
    
  5. 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
    }
    
  6. 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

  1. Yukarıdaki düzenlemeler wordpress 2.7.x sürümleri için geçerliliğini korumaktadır.
  2. 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!

Benzer Yazilar


“WordPress Meta Bileşenini Düzenlemek” için 12 Yorum var

  1. facebook diyor ki:

    saolasın emeklerine ellerine herşeyine sağlık dostum.

  2. video izle diyor ki:

    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?

  3. Semih diyor ki:

    Этот афоризм?

  4. Bзлoмщик diyor ki:

    Даа… В некоторые жизненные моменты волосы могут шевелиться не только на голове :)

  5. Serpil Kocaman diyor ki:

    Çok teşekkürler

  6. Tracey diyor ki:

    for the private messaging plugin. sorry.

  7. Tracey diyor ki:

    Suggestion: E-mail users of a new PM.

  8. Semih diyor ki:

    Ohh, I was thinking, what does he say :)

    Maybe on v2 release :)

  9. Semih diyor ki:

    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 :)

  10. вopcepдeчки diyor ki:

    Интересная идея, но надо бы подумать о рекламе на блоге. По-моему ее слишком много :) Хотя, конечно – это не мое дело :)

  11. Semih diyor ki:

    Спасибо :)