0

基本的に私が達成しようとしているのは、複数のimgがある場合、以下のステートメントをエコーするため、基本的にクリックして詳細を表示するロールオーバーを行うことができます. 別の質問は、それを「a href」に変更し、パーマリンクを post_id にエコーアウトする場合、投稿自体にどのようにリンクさせるかということです。

どんな助けでも大歓迎です。

function catch_images() {
  global $post, $posts;
  $first_image = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/ii', $post->post_content, $matches);
  $first_image = $matches [2] [0];
  if ($output == '2') {
  echo '<div class="seemore"><img src="images/magglass.png"></div><div class="seemoretext">See More</div>';
  }
}

私はばかげているように感じます。次のように入力する必要があります。

if ($output > '2') {
4

3 に答える 3

0

投稿に添付されている画像の数を確認するために、このようなことをしてみませんか?ただし、これは画像が投稿に添付されていることを前提としています。

于 2012-09-02T04:21:45.047 に答える
0

さて、コメントで言ったように、2つ以上の画像がある場合、何をリンクしたいのか、画像自体によくわかりませんでした?? 添付ページへ? 別の投稿へ ? とにかく、このようなものが機能するはずです-ニーズに合わせてコメントを読んで実行してください..

(私が理解できなかった2番目の質問...)

    $args = array(
    'post_type' => 'attachment',
    'numberposts' => -1,
    'post_status' => 'published', // or NULL
            //'post_mime_type' => 'image', // only if you want images alone
    'post_parent' => $post->ID
        );

    $attachments = get_posts($args);


$counter = 0;
$attachments = get_posts( $args );
 if ( $attachments ) {
    foreach ( $attachments as $attachment ) {
        if (!$counter == 1) {
        echo wp_get_attachment_image($attachment->ID);
            }
        else {
        // uncomment the following line if you want a LIST of all following attachments and then delete the marked line
        //echo '<a href = ' . wp_get_attachment_url($attachment->ID) . '> see more (image'. $counter .') </a>' ;
            }
    ++$counter;
    } 
      // Delete this line if you have more than 2 images, otherwise it will show the last one only
      echo '<a href = ' . wp_get_attachment_url($attachment->ID) . '> see more (image'. $counter .') </a>' ;
 } 
于 2012-09-02T05:32:25.490 に答える
0

以下は私自身の質問に対する答えです。特定の投稿に複数の img src タグがある場合はエコーされます。

function catch_images() {
  global $post, $posts;
  $first_image = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/ii', $post->post_content, $matches);
  $first_image = $matches [0] [1];
  if ($output > '2') {
  echo '<div class="seemore"><div class="seemoreimg"><img src="images/magglass.png"></div><div class="seemoretext">See More</div></div>';
 }
}

助けてくれてありがとう!

于 2012-09-06T11:19:29.937 に答える