视频的自定义管理员缩略图,没有获得帖子的ID?

时间:2012-01-25 作者:v3nt

在附件编辑页面中,我尝试使用选定的缩略图,而不是默认图标。99%的方式都是这样,但我无法将附件的id放入函数中。

我是否遗漏了一些明显的东西?感谢您的帮助!Dc。

function set_attachments_icon($icon, $mime = null, $post_id){
    $vars = get_defined_vars();
    print_r($vars);

    echo " ??".$icon."?? ".$post->id.\' \'.$post_id.\'  ?? id not getting picked up?\';

    $thumb_id = get_post_meta($post->ID,\'dsv_thumbnail_id\', true);

    if($thumb_id!=\'\'){
        $image_attributes = wp_get_attachment_image_src( $thumb_id );
        $icon =  $image_attributes[0];
    }

    return $icon;
}

add_filter(\'wp_mime_type_icon\', \'set_attachments_icon\');
apply_filters( \'wp_mime_type_icon\', $icon, $mime, $post_id );

2 个回复
SO网友:prettyboymp

首先,您不需要下面的apply\\u过滤器。这是直接从wp\\u mime\\u type\\u icon()函数调用的。

问题是add\\u filter()调用缺少$accepted\\u args参数。add\\u filter()函数具有以下构造:

add_filter($tag, $function_to_add, $priority = 10, $accepted_args = 1)
因此,默认情况下,$accepted\\u args为1。因此,只有$icon的第一个参数被传递到函数中。添加过滤器时需要使用以下代码:

add_filter(\'wp_mime_type_icon\', \'set_attachments_icon\', 10, 3);

SO网友:Matthew Boynes

apply\\u filters调用如下:

apply_filters( \'wp_mime_type_icon\', $icon, $mime, $post_id ); // Last arg is 0 if function pass mime type.
看起来这是直接传递post\\u id,而不是post对象。那当然可以!请尝试此代码(注意,我没有尝试,我们只是从臀部开始拍摄)

function set_attachments_icon($icon, $mime, $post_id){
    if (!$post_id) return $icon;
    $thumb_id = get_post_meta($post_id,\'dsv_thumbnail_id\', true);
    if($thumb_id){
        $image_attributes = wp_get_attachment_image_src( $thumb_id );
        $icon = $image_attributes[0];
    }
    return $icon;
}
add_filter(\'wp_mime_type_icon\', \'set_attachments_icon\', 10, 3);
然而,对我来说,这并没有因为image_downsize wp中包括/介质。php第607行。你也可以拦截它来做你需要做的事情。

function set_attachments_downsize($return, $attachment_id, $size){
    if ( $size == \'thumbnail\' && $thumb_id = get_post_meta($attachment_id,\'dsv_thumbnail_id\', true) ) {
        $image_attributes = wp_get_attachment_image_src( $thumb_id );
        return $image_attributes[0];
    }
    return $return;
}
add_filter(\'image_downsize\', \'set_attachments_downsize\', 10, 3);
干杯~

结束

相关推荐

ID of parent Menu

我试图为wordpress使用wp\\u nav\\u菜单功能生成的每个子菜单分配不同的ID。实际上,wordpress为生成的每个子菜单分配相同的类(子菜单)。<ul class=\"sub-menu\"></ul> 我想让它生成如下内容:<ul class=\"sub-menu\" id=\"xx\"></ul> 为了修改输出,我在主题函数文件中有一个自定义的walker,但我不知道如何获取父菜单项的ID并将其分配给UL输出。感谢您的