动态图像调整大小插件不输出任何内容

时间:2013-02-26 作者:jay

我在使用"Dynamic-Image-Resize" “Kaiser Franz Josef”插件。在我的模板中,我添加了以下代码:

$imgsrc = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "Full");
$image_path = $imgsrc[0];

dynamic_image_resize( array(
    \'src\'     => $image_path    
    ,\'width\'   => 60
    ,\'height\'  => 100
    ,\'classes\' => \'thumb\'
) );
它只是不输出任何内容,也不会给出任何错误。我已确保图像路径正确。我怎样才能找出问题出在哪里?

如果我var\\u转储上述函数的输出,我会得到以下结果:

object(oxoDynamicImageResize)#507 (1) { ["atts"]=> array(4) { ["src"]=> string(55) "http://localhost:81/wp/wp-content/uploads/2013/02/1.jpg" ["width"]=> int(60) ["height"]=> int(100) ["classes"]=> string(5) "thumb" } } 
我将非常感谢您的帮助。

1 个回复
最合适的回答,由SO网友:kaiser 整理而成

问问你刚才做了什么,所以。。。这是开发商的回答。:)

正确的输出告诉我们什么

首先,公众dynamic_image_resize() API函数只是单例本身的包装器。当你仔细看这门课时,你会发现__toString() 方法,这是返回输出的神奇方法。

正如你从var_dump(), 返回的是确切的对象(类名表明了这一点),但不是字符串。所以__toString() 方法没有触发,因此不调用输出。它只是叫__construct() 方法,以便查看与调用类时定义的类属性集完全相同的内容。

如何“修复”未损坏的东西

如前所述,该类使用__toString() 方法与大多数神奇的PHP方法一样,此方法仅在特定条件下触发。在这种情况下echo 输出。

所以你的解决方案就是echo dynamic_image_resize(). 这里是快速编写的(未测试)。

echo dynamic_image_resize( array(
     \'src\'     => array_shift( wp_get_attachment_image_src( 
         get_post_thumbnail_id( get_the_ID() )
        ,"Full"
     ) )
    ,\'width\'   => 60
    ,\'height\'  => 100
    ,\'classes\' => \'thumb\'
) );

结束

相关推荐

我如何才能让Taxonomy Images与‘orderby’参数一起工作?

我正在使用分类法图像插件,并试图对分类法进行排序,但分类法图像效果不佳。这项工作:$terms = get_terms( \'work_cat\', $args ); 但事实并非如此:$terms = apply_filters( \'taxonomy-images-get-terms\', \'\', $args ); 有什么想法吗?以下是完整的查询:<?php $args = array( \'taxonomy\' =>