1

私は新しいWordpressテーマに取り組んでいます。デフォルトのインデックスビューには、最近の投稿の抜粋が表示されます。一部の投稿はファイルのダウンロードに関するものであり、画像、説明、および説明されたファイルがホストされている場所へのリンクが含まれます。これらのタイプの投稿の画像はリンクで固定されます(他のタイプの投稿にはリンクされていない画像が含まれている場合があります)。

これらのタイプの投稿の場合、抜粋で表示されたときに画像をエントリの完全な投稿ビュー(single.php)にリンクしますが、完全な投稿ビューの一部として表示された場合、同じ画像を外部のダウンロードリンクにリンクします。

どれだけ正確にそれを達成できるかわかりません。どんな助けでも大歓迎です!

4

2 に答える 2

1

投稿のサムネイルが定義されておらず、投稿に複数の画像が含まれている場合と含まれていない場合があるため、次のように設定しました。

抜粋でタグをオフにし(抜粋でタグを有効にする抜粋プラグインがありました)、function.phpファイルに次を追加しました。

function catch_that_image() {  
    global $post, $posts;  

    $first_img = '';  ob_start();  
    ob_end_clean();  

    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', 


    $post->post_content, $matches);  

    $first_img = $matches [1] [0];  
    if(empty($first_img)){ 
    //Defines a default image    
    $first_img = "/images/default.jpg";  }  
    return $first_img;}

次に、投稿のタイトルと抜粋/コンテンツの間にあるメインのインデックステンプレートファイルに以下を追加しました。

<p><a href="<?php the_permalink() ?>" alt="<?php _e('Read full article', 'theme');?>" title="<?php _e('Read full article', 'theme');?>"><img src="<?php echo catch_that_image() ?>"></a></p>    

ランダムノート:それは

スタイリングの理由で。

私を正しい方向に導いてくれてありがとう。

于 2011-08-27T21:55:37.487 に答える
0

テーマでフロントページに「the_excerpt()」を使用している場合は、functions.phpにフィルターを追加し、正規表現を使用してリンクhrefをダウンロードリンクからパーマリンクに変更できると思います。

何かのようなもの、

function replace_link($content) {
   if (is_home())
      return preg_replace('regular_expression', get_permalink(), $content);
   else
      return $content;
}
add_filter('the_excerpt', 'replace_link');

ダウンロードリンクがどのように見えるかを知らずに実際の正規表現を作成することはできません

于 2011-07-09T23:34:50.110 に答える