1

私は複数のアーティストのポートフォリオ Web サイトに取り組んでおり、各アーティストには独自のブログがあります。

各アーティストが独自のブログを作成するために、自分の投稿に自分自身を「タグ付け」することにしました。ポートフォリオ ページで、そのタグを付けた投稿を一覧表示します。

ページの名前はその名前なので、最初は次のように考えていました。

<?php 
    $args=array('posts_per_page'=>2, 'tag' => $post->post_title);
$wp_query = new WP_Query( $args );
?>

動作しますが、結果が得られないようです。しかし、投稿のタイトルとタグをエコーすると、どちらもまったく同じように表示されます。

そこで、次に考えたのは、タグを正規表現に一致させることでした。何かのようなもの:

<?php
if( preg_match("/tony/i",$post->post_title)){
    echo "Tony";    
}
?>

しかし、それをwpクエリに組み込む方法がわかりません。

これを行う方法、または同じ最終結果に到達するためのより良い方法があるかどうか、何か考えはありますか?

4

2 に答える 2

3

私はごく最近、まったく同じ問題に困惑しました。姓名の組み合わせで記事を表示しようとしたのですが、tag引数だけではうまくいきません。私は実際に私のものを使用することにtag_slug__andなりました。これが私が思いついたものです...

<?php 

$original_query = $wp_query;
$args = array( 'tag_slug__and' => array(strtolower($first_name) . "-" . strtolower($last_name)) );
$wp_query = new WP_Query( $args );
if(have_posts()):
    echo "<h3>News Tagged " . $first_name . " " . $last_name . "</h3>"; 
    while(have_posts()) : the_post();

        $title = get_the_title();
        $content = get_the_content();
        $date = get_the_date();

            //use the vars for something suuhhhhweeeeet!



endwhile;
endif;
$wp_query = $original_query;
wp_reset_postdata();
?>

を使用しtag_slug__andた理由は、タグ スラッグが . で区切られたスペースを持つ小文字のタグであるため-です。これはおそらく理想的な解決策ではなく、ハッキリしているように感じますが、機能します。

于 2013-05-02T15:10:05.730 に答える
-1

タグを使用し、作成者ページ テンプレートとネイティブの WordPress 作成者システムを使用しない理由が知りたいです。タグなしでこれを行う方法はたくさんあります。複数の著者が必要な場合は、co-authors plus プラグインをチェックしてください。

http://wp.tutsplus.com/tutorials/how-to-create-a-wordpress-authors-page-template/

http://wordpress.org/extend/plugins/co-authors-plus/

于 2013-05-03T14:19:27.813 に答える