【发布时间】:2015-05-04 14:53:46
【问题描述】:
我根据Displaying a wordpress menu with submenu and thumbnail这里的代码实现了这个自定义walker
(它应该检索图像 URL 以将其用作 css 背景,而不是呈现实际的 img 标签)
一切正常,除了 wp_get_attachment_image_src 总是返回 false。
add_filter('walker_nav_menu_start_el', 'generate_nav_images', 20, 4);
add_filter('walker_nav_menu_start_el', 'generate_nav_images', 20, 4);
function generate_nav_images($item_output, $item, $depth, $args){
if(has_post_thumbnail($item->object_id)){
$thumb_url = wp_get_attachment_image_src( (int)$item->object_id, 'thumbnail', false );
$dom = new DOMDocument();
$dom->loadHTML($item_output);
$dom->getElementsByTagName('a')->item(0)->setAttribute( 'style' , 'background-image: url('. $thumb_url[0] . ');' );
$item_output = $dom->saveHTML();
}
return $item_output;
}
页面确实有缩略图,页面 ID 返回正常,get_the_post_thumbnail() 返回正常,但 wp_get_attachment_image_src() 没有。
我跟踪了许多关于图像大小返回 false 的函数的问题,除了 has_thumbnail()。
我跟踪到的更深的“假”值是过滤器“image_downsize”,但后来这个功能对我来说太高级了:(
image_downsize 甚至应该在助行器内部工作吗?
谢谢。
【问题讨论】:
标签: wordpress thumbnails menuitem