2017-01-31 14 views
1

私がしようとしているのは、結果がタイトルの最初の文字のみになるようにwp_queryを作成することです。テストページが現在として保存されてwp_queryタイトルの初回投稿者

<div class="col-md-6">  

<!-- ############################################## --> 
<!-- ############### PAGE TITLE T ################# --> 
<!-- ############################################## --> 

<p class="f_header">PAGE TITLE T</p> 

<?php 

    global $wpdb; 
    $first_char = 'T'; 
    $postids = $wpdb->get_col($wpdb->prepare(" 
    SELECT  ID 
    FROM  $wpdb->posts 
    WHERE  SUBSTR($wpdb->posts.post_title,1,1) = %s 
    ORDER BY $wpdb->posts.post_title",$first_char)); 

if ($postids) { 
$args = array(

     'post__in'   => $postids, 
     'post_type'   => 'post', 
     'post_status'  => 'publish', 
     'posts_per_page' => -1, 
     'caller_get_posts' => 1 

    ); 

    $query = new WP_Query($args); 

    if ($query->have_posts()) { 

?> 

<table width="100%"><!-- #### TABLE #### --> 

    <?php 

     while ($query->have_posts()) { 

      $query->the_post(); 

    ?> 

    <tr style="border-bottom: thin solid #111;"> 

     <td class="movie_genre">  

      <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> 

     </td> 

    </tr> 

    <?php }; ?> 

</table><!-- ####/TABLE #### --> 

<?php }; wp_reset_postdata(); }; ?> 

これは私が&が文字にハイパーリンク&番号表示方法です

..

<div class="align_Center"> 

<?php $args = array(
"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","ALL"   ); ?> 

<?php 

for($x = 0; $x < 37; $x++) { ?> 

<span style="color: #777;">&nbsp;|&nbsp;</span> 

<a href="../page-title-<?php echo $args[$x]; ?>" class="movie_lists"><?php echo $args[$x]; ?></a> 

<?php } ?> 

<span style="color: #777;">&nbsp;|</span> 

</div> 

そして、これは私のテストページです。..私はちょっと困惑しています。現在はルートテーマのdirにpage-title-tはありません。

+0

プロジェクトでこれをperfomために食べる人よりも、私はちょうど分類を使用し、保存するフック...でそれを更新しないことをお勧めしかし、それはあなたがSEOの作品を行う必要がありますすべてのULに関してを提供... 私のコードが正しければポストメタ – Ianis

答えて

0

提供されたコードは、以下の一般的な注意事項と正しいです:あなたはページをリストしていることを述べているが、あなたのクエリが'post_type' => 'post'を述べ

  • post_typeパラメータは、文字列または配列の両方を受け入れ、あなたはどちらか魔女に'post_type' => 'page'または'post_type' => array('post','page')

  • は、あなたのDBの照合が(_ciで終わらなければならない、例えばutf8_general_ci大文字小文字を区別しない、そうでない場合は、あなたが取るべきケアであることを確認してくださいすることができます小さなと大文字のクエリ(tT)の

  • 追加のノート - $argscaller_get_postsのWordPressバージョンGRにignore_sticky_postsに移行する必要があります3.1.0
+0

を使用することもできます。なぜ、上記のページではなくindex.phpを表示するのですか? – scottiescotsman

+0

これは別の問題です。このような '/ page-title-T'のページスラッグを処理するには、カスタムパーマリンク構造を定義しておくべきです。 –

+0

は、私がwordpressに新しいとして存在していたことを知らなかった。 – scottiescotsman

関連する問題