如何在附件显示设置中扩展指向功能链接

时间:2012-12-15 作者:O. Jones

在WP 3.4中。x和更早版本,可以通过在attachment_fields_to_edit 滤器例如,当插件发现某个项目是音频文件时,可以在url字段中附加一些HTML作为额外按钮,如下所示。

 $playertag = "[audio $url]";
 $fields[\'url\'][\'html\'] .= 
      "<button type=\'button\' class=\'button data-link-url=\'$playertag\' urlaudioplayer audio-player-$postid\'>Audio Player</button>"; 
新媒体管理器将html标记中的一组按钮更改为下拉菜单<select .../> 项目html代码在媒体模板中发出。php。新代码仍然调用attachment_fields_to_edit 筛选,但不传入任何字段。

有没有一种方法可以在不破坏核心的情况下扩展这个选择项(我不会这么做)。是否可以编写一些js,使用jQuery向其中添加一项?

1 个回复
SO网友:Fabien Quatravaux

是的,这可能和以前一样。我不知道你为什么认为过滤器不再传递参数了。

add_filter(\'attachment_fields_to_edit\', \'user16975_edit_fields\', 10, 2);
function user16975_edit_fields($form_fields, $attachment){

    // check for an audio attachment
    if ( substr($attachment->post_mime_type, 0, 5) == \'audio\' ) {
        $playertag =  $playertag = "[audio ".wp_get_attachment_url($attachment->ID)."]";
        $form_fields["audioplayer"] = array(
            "label" => "Audio player",
            "input" => "html",
            "html" => "<button type=\'button\' class=\'button\' data-link-url=\'$playertag\' audioplayer=\'audio-player-{$attachment->ID}\'>Audio Player</button>",
        );
    }

    return $form_fields;
}
结果如下:

Audio player button

结束

相关推荐

WPAlChemy MediaAccess“添加媒体”按钮打开新页面而不是弹出窗口

我正在使用WPAlchemy来创建一个自定义的元框,让您可以上传媒体。但是,“添加媒体”按钮将我带到“将媒体文件添加到您的计算机…”作为一个新页面(好像它只是一个常规链接),而不是作为同一页面上的弹出窗口打开。我在一个普通的帖子中测试了我的媒体上传按钮,它弹出了。