Selam Arkadaşlar...
Wordpress'de bir projem için gerekli olan bu etiketleri A dan Z ye sıralama olayı sanırım kimse tarafından pek irdelenmemiş olsa gerek ki Türkçe kaynak bulamadım.
codex.wordpress konu ele alınmış ama yeteri düzeyde yabancı dile sahip olamadığım için tam olarak ne yapmam gerektiğini anlamadım.
Konunun çevirisini yapıp bizi aydınlatacak yardımseverlere ihtiyacımız var. Eminim bir çok kişinin işine yarayacaktır.
Saygılar...
Etiketleri A dan Z ye Sıralamak
8
●1.320
- 26-08-2012, 01:52:19Hocam komple okumadım lakin söyle bir göz gezdirdiğimde aslında yapman gereken şeyler basit gibi.
Misal ilk kodlamada category.php acıp verdiği kodu son satıra eklıyorsun
ikinci kodlamada ise category-13.php adında yenı bir dosya acmanı ve ıcıne o verdıgı kodu eklemenı ıstıyor ki o acacağın category-13.php adında kı dosyanı temanın ıcınde bulunan ındex.php nın bulundugu dızınde acmanı ıstıyor " yanılmıyorsam "
son olarakta index.php yı acıp son satıra verdıgı kodu eklıyorsun
bu kadar sanırım eğer hatam eksıklerım varsada özür dilerim. - 26-08-2012, 01:55:02
- 26-08-2012, 01:57:24cudjex adlı üyeden alıntı: mesajı görüntüle
doğrudur üstad. ama benim yapmak istediğim tam olarak şu şekilde
örnekle belirtmek gerekirse
A B C Ç D E F G H I İ J K L M N O Ö P R S Ş T U Ü V Y Z
şeklinde sıralı harflerin hangisi tıklanırsa o harfle başlayan etiketler açılacak sayfada sıralansın. - 26-08-2012, 02:02:16buyur

<?php $tags = get_tags(); $html = '<div class="post_tags">'; foreach ($tags as $tag){ $tag_link = get_tag_link($tag->term_id); $etiket_ad = $tag->name; $etiket_ilkharf = substr($etiket_ad , 0, 1); $html .= "<a href='{$tag_link}'>"; $html .= "{$etiket_ilkharf}</a>"; } $html .= '</div>'; echo $html;?> - 26-08-2012, 02:30:15Şunu bir inceleyin derim : http://wordpress.org/support/topic/h...1#post-1342416
çalışan örnek : http://x-files.net.ua/?page_id=1266&tags=a - 26-08-2012, 03:43:58_PatroN_ adlı üyeden alıntı: mesajı görüntüle
üstad bu gösterdiğin kaynak tam da aradağım olay
lakin burda sayfa şablonu üzerinde çalışma yapılmış ben ise bu işlemi sıralama işlemini header.php de sabit kılmak istiyorum. bunun içinde biraz fonksiyon php ye edit gerek sanırım. işin bu kısmında içinden çıkamadım yada başka bir şey mi yapmam gerek yardımcı olursan sevinirim. - 28-08-2012, 21:52:00teşekkürler patron_PatroN_ adlı üyeden alıntı: mesajı görüntüle
Sorunum halloldu belki işe yarar diye bende çözümü burda paylaşmak istiyroum.
çözüm :
verilecek kodlarla sayfa şablonu oluşturup wordpresste bu sayfa şablonunu varsayarak yeni bir sayfa oluşturun. div ve css ler kendi temanıza göre uyarlanma sorunun dan başka hiçbir sorunla karşılaşmayacaksınız dır. okadarını da halledersiniz umarım
<?php /* Template Name: Tag Index */ get_header(); $valid_characters = range( 'a' , 'z' ); $valid_numbers = array(1,2,3,4,5,6,7,8,9,0); // -----> This fixes the previous issue <----- // $ent = ( strpos( get_permalink( $post->ID ) , '?' ) != false ) ? '&' : '?' ; $nav = array(); // Build nav array foreach( $valid_characters as $key => $character ) { $nav[] = '<a href="' . get_permalink( $post->ID ) . $ent.'tags=' . $character . '">' . strtoupper( $character ) . '</a>'; } foreach( $valid_numbers as $key => $number ) { $nav[] = '<a href="' . get_permalink( $post->ID ) . $ent.'tags=' . $number . '">' . $number . '</a>'; } // Array to hold tags, needs to be set, so the empty check works when none of the switch cases hit a match (for whatever reason) $tags = array(); // Array that will hold arrays of tags based on their first letter $tag_array = array(); // Main switch switch( true ) { // If request for tag with particular letter case ( isset( $_GET['tags'] ) ): // If it's in the arrays created earlier, get tafs and sort into array case ( in_array( $_GET['tags'] , $valid_characters ) || in_array( $_GET['tags'] , $valid_numbers ) ): $tags = get_terms( 'post_tag' , "hide_empty=0&name__like=$_GET[tags]" ); if( !empty( $tags ) ) { foreach( $tags as $tag ) { $tag_array[$tag->name{0}][] = '<li><a href="'.get_tag_link( $tag->term_id ).'">'.$tag->name.'</a></li>'; } } break; break; case ( !isset( $_GET['tags'] ) ): default: $tags = get_terms( 'post_tag' , 'hide_empty=0' ); if( !empty( $tags ) ) { foreach( $tags as $tag ) { $tag_array[$tag->name{0}][] = '<li><a href="'.get_tag_link( $tag->term_id ).'">'.$tag->name.'</a></li>'; } } break; } // If theres only one item in the array ( well one key ) , then it's a requested tag letter, so add a "Show all" link at the start of the nav if( count( $tag_array ) == 1 ) array_unshift( $nav , '<a href="' . get_permalink( $post->ID ) . '">Show all</a>' ); ?> <div id="content" class="widecolumn"> <!-- Feel free to add regular stuff you want here, like the_content() etc. --> <div class="nav"> <?php // Imploding an array is an easy and reliable way to create a string with seperators echo implode( ' | ' , $nav ); ?> </div> <?php // If there's tags in the array if( !empty( $tag_array ) ) { foreach( $tag_array as $character => $character_tags ) { ?> <div class="tagindex"> <h4><?php echo $character; ?></h4> <ul class="links"> <?php foreach( $character_tags as $key => $tag ) { echo $tag; } ?> </ul> </div> <?php } } else { ?> <h4>No tags found</h4> <?php } ?> </div> </div> <?php get_footer(); ?>
herkese iyi çalışmalar ve ilgili arkadaşlara da çok teşekkürler
