0

私は 1 つの wordpress サイトを開発しています。私はその中に1つの投稿をしました。今、その投稿に画像を割り当てたいと思います。このために、メディアに 1 つの画像をアップロードし、その画像を投稿に添付しました。

しかし、アップロードした画像を投稿に割り当てるにはどうすればよいですか? 手動でパスを指定する必要がありますか? または、このサイトをサーバーにアップロードしたり、メインフォルダー名を変更したりしても、パスが自動的に変更されるように、動的パスを指定できます..

どんな助けでも大歓迎です..ありがとう

4

1 に答える 1

1

投稿で投稿サムネイル(アイキャッチ画像とも呼ばれます) を使用することを検討する必要があります。これを行うには、functions.php ファイルに以下を追加するだけです。

add_theme_support('post-thumbnails');

これにより、投稿エディターにコントロールが追加され、アップロードするか URL を設定して画像を追加し、探している方法で効果的に画像を投稿に「添付」します。テンプレートに画像を表示するには:

<?php
if(have_posts()) : while(have_posts()) : the_post();
    if(has_post_thumbnail())
        echo '<div class="post_thumb">'.get_the_post_thumbnail().'</div>';
?>
<div class="post_content"><?php the_content(); ?></div>
<?php
endwhile;endif;
?>

フォルダ名、パスなどの変更に関しては、そのアプローチに注意する必要があります。アセットへのパスを提供していることを忘れないでください。サーバーはあなたが何を望んでいるのかを知りません。あなたのコードが何を要求しているのかだけです。アセットへのパスをかなり変更することが予想される場合は、いつでも投稿サムネイルを忘れて、巧妙な命名規則を優先することができます。このようなもの:

<?php
if(have_posts()) : while(have_posts()) : the_post();
$imgPath = get_bloginfo('stylesheet_directory').'/images/featured_'.$post->post_name.'.jpg';
?>
<div class="post_thumb"><img src="<?php echo $imgPath; ?>" /></div>
<div class="post_content"><?php the_content(); ?></div>
<?php
endwhile;endif;
?>

これにより、テーマ ディレクトリの images フォルダーで、featured_{post_slug}.jpg という名前の画像が検索されます。

このアプローチの利点は、URL の変更に関係なく、Wordpress がテーマ フォルダーの場所を常に認識できることです。テーマ ディレクトリに images フォルダがある限り、Wordpress はどこを見ればよいかを認識します。

欠点は、このコードが画像を表示する前に最初に存在をチェックしないことです。これにより、適切に名前が付けられていないか、まったく存在しない場合、画像が壊れる可能性があります。このアプローチでは、1 つのファイル拡張子を使用する必要もあります

最後のオプションは、カスタム フィールドを使用して画像へのパスを定義することを検討することです。利点は、サーバーに実際に画像をアップロードする必要がないことです。ただし、このアプローチはすべてのオプションの中で最も動的ではないため、アセットへのパスが変更されると機能しなくなる可能性があります。

作業に最適だと思われるツールを使用してください。お役に立てれば!

于 2012-05-31T14:25:14.647 に答える