通过帖子获取所有附件,其中不包括特色和内容

时间:2018-06-04 作者:Met El Idrissi

我有一个公文包,其中每个项目的内容中都有一些图像,一个特色图像和一个称为“公文包图像”的自定义字段。

我想通过post获取所有图像,不包括受约束的图像和内容图像。

我的代码是:

        if (have_posts()) : while (have_posts()) : the_post();  
        $terms = wp_get_post_terms(get_the_ID(), \'portfolio-type\');
        /*get the images for the slide on hover by metelidrissi*/
            $args = array(
                \'post_type\' => \'attachment\',
                \'numberposts\' => -1,
                \'post_status\' => null,
                \'post_parent\' => get_the_ID()
            );

            $attachments = get_posts( $args );
            $attachments_portfolio = array();
            if ( $attachments ) {
                $i = 0;
                foreach ( $attachments as $attachment ) {
                    var_dump($attachment);
                  $attachments_portfolio[$i] = $attachment->guid;
                  $i++;
                }
            }
我只想在他的领域里拍摄图像:

enter image description here

我该怎么办?有一个wat来排除内容帖子上的图片和特色图片吗?

谢谢

1 个回复
SO网友:Met El Idrissi

我已经解决了。解决方案与功能相关get_post_meta();

由于WordPress是由同一结构的不同类型的帖子抽象而成,我们可以定义不同的帖子类型。

在这里,我们可以找到有关该函数的更多信息:

https://developer.wordpress.org/reference/functions/get_post_meta/

如您所知,您可以找到3个变量$post\\u id、$key和$single。

get_post_meta(int$post\\u id,string$key=“”,bool$single=false)

第二个,使用$键,我们可以指示要检索的位置,默认情况下,它返回所有键的数据。

在我们的例子中,我们有一个模板,其中包含一个带有键*\\u swimingpool\\u image\\u gallery**的公文包,这是我们问题的“关键”。

完整代码如下:

  $image_gallery = get_post_meta( get_the_ID(), \'_swimmingpool_image_gallery\', true );
                if(!empty($image_gallery)) {
                    $attachments = array_filter( explode( \',\', $image_gallery ) );
                    $aImage = array();
                    if ($attachments) {
                        $i = 0;
                        foreach ($attachments as $attachment) {
                            $attachment_url = wp_get_attachment_url($attachment , \'full\');
                            $image = swimmingpool_resize($attachment_url, $slidewidth, $slideheight, true);
                            if(empty($image)) {$image = $attachment_url;}
                            $aImage[$i] = $image;
                            $i++;
                        }
                    }
如果你遇到同样的问题,我希望它能帮助你。

结束

相关推荐

如何从GET_POSTS()检索值?

我只是试图从get\\u posts中检索“title\\u name”的值,并得到错误“不能将WP\\u post类型的对象用作数组…”我没有使用have\\u posts/The\\u posts的原因是我想反向显示标题:$arr = get_posts(); $arr = array_reverse($arr); foreach ($arr as $post) { echo $post[\'post_name\']; echo \"<br/>