0

我正在开发一个 wordpress 网站。我在里面发了一篇文章。现在我想在那篇文章中分配图像。为此,我在媒体中上传了一张图片并将该图片附加到我的帖子中。

但是如何在我的帖子中分配上传的图片?我需要手动提供路径吗?或者我可以提供动态路径,这样即使我在服务器上上传此站点或更改主文件夹名称,路径也会自动更改..

任何帮助将不胜感激..谢谢

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;
?>

至于更改文件夹名称、路径等,您需要小心使用这种方法。请记住,您正在为资产提供路径。服务器不知道你想要什么,只知道你的代码请求什么。如果您希望更改资源的路径相当多,那么您总是可以放弃 Post Thumbnails 以支持巧妙的命名约定。像这样的东西:

<?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;
?>

这会在主题目录的图像文件夹中查找名为 features_{post_slug}.jpg 的图像

这种方法的好处是,无论 URL 发生什么变化,Wordpress 都将始终知道您的主题文件夹在哪里。只要你的主题目录中有一个 images 文件夹,Wordpress 就会知道去哪里找。

缺点是这段代码在显示图像之前没有首先检查图像的存在性,如果图像命名不正确或根本不存在,可能会导致图像损坏。这种方法还需要使用一个文件扩展名

您的最后一个选择是考虑使用自定义字段来定义图像的路径。好处是这不需要您将图像实际上传到您的服务器。但是,这种方法仍然是所有选项中动态性最低的,并且如果资产路径发生更改,可能会中断。

使用您认为最适合这项工作的任何工具。希望这可以帮助!

于 2012-05-31T14:25:14.647 回答