Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress-每篇文章有多张图片_Php_Image_Wordpress_Custom Post Type_Image Management - Fatal编程技术网

Php Wordpress-每篇文章有多张图片

Php Wordpress-每篇文章有多张图片,php,image,wordpress,custom-post-type,image-management,Php,Image,Wordpress,Custom Post Type,Image Management,真的在寻找任何指针 我想要的功能 基本上,我想有功能分配多达6个不同的图像到一个单一的职位。所有6个图像将在single.php中正常显示。例如,在主页上,我希望这些图片中的一幅随机显示在该帖子的页面加载中 几个问题 这可能吗 有没有可以管理这类事情的插件 如果我自己做的话,我应该如何创建这种功能 对于每个帖子,添加一个带有名称和值的自定义字段。您可以将名称命名为ImageURL1,该值可以是图像的URL。在文章中添加任意数量的自定义字段。例如: 使用以下代码在single.php或循环中的任

真的在寻找任何指针

我想要的功能

基本上,我想有功能分配多达6个不同的图像到一个单一的职位。所有6个图像将在single.php中正常显示。例如,在主页上,我希望这些图片中的一幅随机显示在该帖子的页面加载中

几个问题

  • 这可能吗
  • 有没有可以管理这类事情的插件
  • 如果我自己做的话,我应该如何创建这种功能

  • 对于每个帖子,添加一个带有名称和值的自定义字段。您可以将名称命名为ImageURL1,该值可以是图像的URL。在文章中添加任意数量的自定义字段。例如:

    使用以下代码在single.php或循环中的任何其他文件中打印出来:

    <?php $values = get_post_custom_values("ImageURL"); echo $values[0]; ?>
    
    
    
    要将其加载到主页上,您需要查询帖子,然后在index.php中获取特定名称的自定义字段值:

    <?php query_posts('cat=10')  //your cat id here ?>
    <?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
    <a href="<?php $values = get_post_custom_values("LinkURL"); echo $values[0]; ?>" target="_blank"><img src="<?php $values = get_post_custom_values("ImageURL"); echo $values[0]; ?>" alt="<?php the_title(); ?>" /></a>
    <?php endwhile; ?><?php endif; ?>
    <?php wp_reset_query(); ?>
    
    
    

    如果需要,您可以将其随机化或在自定义字段中循环。

    对于每篇文章,添加一个带有名称和值的自定义字段。您可以将名称命名为ImageURL1,该值可以是图像的URL。在文章中添加任意数量的自定义字段。例如:

    使用以下代码在single.php或循环中的任何其他文件中打印出来:

    <?php $values = get_post_custom_values("ImageURL"); echo $values[0]; ?>
    
    
    
    要将其加载到主页上,您需要查询帖子,然后在index.php中获取特定名称的自定义字段值:

    <?php query_posts('cat=10')  //your cat id here ?>
    <?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
    <a href="<?php $values = get_post_custom_values("LinkURL"); echo $values[0]; ?>" target="_blank"><img src="<?php $values = get_post_custom_values("ImageURL"); echo $values[0]; ?>" alt="<?php the_title(); ?>" /></a>
    <?php endwhile; ?><?php endif; ?>
    <?php wp_reset_query(); ?>
    
    
    

    如果您愿意,您可以随机化它或在自定义字段中循环。

    是的,这是可能的,但并不那么困难。创建帖子时上载图像

    然后在single.php中使用get_children从帖子中获取所有图像

    在循环中假设:

    $images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=$post->ID' );
    
    并按如下方式输出它们:

    if ($images)
    {
    foreach ( $images as $attachment_id => $attachment ) {
            echo wp_get_attachment_image( $attachment_id, 'full' );
        }
    }
    
    对于随机图像,您可以使用与上面相同的get_子对象,但将
    &numberposts=1
    添加到args字符串中

    或者类似于:

     function fetch_random_img($postid='') {
        global $wpdb;
        if (empty($postid))
        {
           //we are going for random post and random image
         $postid = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY RAND() LIMIT 1");
        }
        $imageid = $wpdb->get_var($wpdb->prepare("SELECT ID FROM wp_posts WHERE post_type='attachment' AND post_mime_type LIKE 'image/%' AND post_parent=$postid ORDER BY RAND() LIMIT 1"));
        if ($imageid) {
             echo wp_get_attachment_image( $imageid, 'full' );
        }
        else {
        return false;
        }
    
        }
    
    这将只给您一个随机图像,它将是随机的,而get_子对象每次都会取出相同的图像,除非您添加order和orderby参数,这将允许您更改生成的图像

    要在div中回显图像,只需调用以下函数:

    <div>
    <?php fetch_random_img(); ?>
    </div>
    

    是的,这是可能的,但并不是那么困难。创建帖子时上载图像

    然后在single.php中使用get_children从帖子中获取所有图像

    在循环中假设:

    $images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=$post->ID' );
    
    并按如下方式输出它们:

    if ($images)
    {
    foreach ( $images as $attachment_id => $attachment ) {
            echo wp_get_attachment_image( $attachment_id, 'full' );
        }
    }
    
    对于随机图像,您可以使用与上面相同的get_子对象,但将
    &numberposts=1
    添加到args字符串中

    或者类似于:

     function fetch_random_img($postid='') {
        global $wpdb;
        if (empty($postid))
        {
           //we are going for random post and random image
         $postid = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY RAND() LIMIT 1");
        }
        $imageid = $wpdb->get_var($wpdb->prepare("SELECT ID FROM wp_posts WHERE post_type='attachment' AND post_mime_type LIKE 'image/%' AND post_parent=$postid ORDER BY RAND() LIMIT 1"));
        if ($imageid) {
             echo wp_get_attachment_image( $imageid, 'full' );
        }
        else {
        return false;
        }
    
        }
    
    这将只给您一个随机图像,它将是随机的,而get_子对象每次都会取出相同的图像,除非您添加order和orderby参数,这将允许您更改生成的图像

    要在div中回显图像,只需调用以下函数:

    <div>
    <?php fetch_random_img(); ?>
    </div>
    
    
    
    完全没有必要为此使用自定义的post值感谢您的输入:)完全没有必要为此使用自定义的post值感谢您的输入:)在“post_type=attac
    在此处输入代码”的行中是否出错?看起来不对劲?另外,当您使用代码输出它们时,这段代码到底在做什么?这是在single.php中显示所有6个图像,还是在index.php上显示一篇随机文章?是的,当我单击花括号将代码放入代码块时发生了这种情况,我已经在一个地方取出了它。不管怎样,现在排序。那么您的代码将在single.php中输出6个图像?我只是上传我的图片,然后像平常一样插入帖子吗?请原谅这些问题,只是不要对PHP充满信心。在添加帖子时,您可以像平常一样上传图片,但不会将其插入帖子内容。只需点击“保存”,然后点击“发布”。代码就是在single.php中显示图像的代码。哦,我忘了。关于随机显示页面加载-在哪个页面加载-单个post页面或其他页面,以及图像需要在何处/如何随机显示?随机图像功能确实适用于其他页面/post模板,而不是single.php。在single.php上,我想输出所有上传的图像。在其他模板上,我只想调用其中一个上载的图像。在“post_type=attac
    此处输入代码”的行中是否出现错误?看起来不对劲?另外,当您使用代码输出它们时,这段代码到底在做什么?这是在single.php中显示所有6个图像,还是在index.php上显示一篇随机文章?是的,当我单击花括号将代码放入代码块时发生了这种情况,我已经在一个地方取出了它。不管怎样,现在排序。那么您的代码将在single.php中输出6个图像?我只是上传我的图片,然后像平常一样插入帖子吗?请原谅这些问题,只是不要对PHP充满信心。在添加帖子时,您可以像平常一样上传图片,但不会将其插入帖子内容。只需点击“保存”,然后点击“发布”。代码就是在single.php中显示图像的代码。哦,我忘了。关于随机显示页面加载-在哪个页面加载-单个post页面或其他页面,以及图像需要在何处/如何随机显示?随机图像功能确实适用于其他页面/post模板,而不是single.php。在single.php上,我想输出所有上传的图像。在其他模板上,我只想调用其中一个上传的图片。这个插件可以完成这个插件可以完成的工作