0

高度なカスタム フィールドで作成されたカスタム フィールドを持つカスタム投稿タイプがあります。このタイプの投稿をすべて取得し、次のコードで画像を表示できます。

<?php
$args = array( 'post_type' => 'image' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php $image = get_field('image_file'); ?>
<img src="<?php echo $image['url']; ?>" />
<?php endwhile; ?>

ただし、すべてをループせずに単一の画像 URL を取得できるようにしたいと考えています。これについてどうすればいいですか?

私はこれを試しました:

<?php
$args = array( 'post_type' => 'image', 'title' => 'Welcome to bird - image 1' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php $image = get_field('image_file'); ?>
<img src="<?php echo $image['url']; ?>" />
<?php endwhile; ?>

しかし、それはリスト全体を出力します - どうすれば単一の投稿を取得できますか? それが役立つ場合、パーマリンクは次のようになります。

/?image=welcome-to-bird-image-1
4

2 に答える 2

0

私は今解決策を見つけました:

<?php
$args = array( 'post_type' => 'image', 'image' => 'welcome-to-bird-image-3' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php $image = get_field('image_file'); ?>
<img src="<?php echo $image['url']; ?>" />
<?php endwhile; ?>

「画像」によるフィルタリングは、思い通りに機能しました。

于 2013-09-25T12:35:35.523 に答える
0

残念ながら、データベースの投稿をフィルタリングするために、X_posts テーブルの列名を WP_Query クラスの引数として使用することはできません。

唯一の解決策は、posts_where フィルターを使用してから、通常の MySQL コードを適用して投稿をフィルター処理することです。そんな感じ:

function filter_where_title($where = '')
{
    $where .= " OR post_title LIKE '%" . $your_term_here . "%'";                   
    return $where;
}

$posts = new WP_Query();

add_filter('posts_where', 'filter_where_title');

注 :上記の例は一般的なものであり、カスタム投稿レコードのみでフィルタリングを厳密に行うには、追加のコードを適用する必要があります。上記のコードは、他の投稿タイプのクエリにも影響を与える可能性があります。

于 2013-09-25T12:28:42.473 に答える