我正在使用一个可创建自定义帖子类型“投资组合”以及可插入任何页面或帖子的简码的插件。
简码是: [portfolio option1=“1” option2=“0” option3=“1” ]
而且效果很好,它通过custom显示所有自定义帖子WP_query
。但我想走得更远。
在旁边upload media
生成一个自定义按钮以生成投资组合短代码输出,用户可以在其中选择要包括的帖子并定义所有选项。因此输出为:[portfolio option1=“1” option2=“0” option3=“1” ids=“12,311,432,443,” ]
这是我在wp的media.php中找到的按钮的代码:
add_action( 'media_buttons', array( $this, 'media_buttons' ) );
public function media_buttons($editor_id = 'content') {
$post = get_post();
if ( ! $post && ! empty( $GLOBALS['post_ID'] ) )
$post = $GLOBALS['post_ID'];
wp_enqueue_media( array(
'post' => $post
) );
$img = '<span class="wp-media-buttons-icon"></span> ';
echo '<a href="#" id="insert-media-button" class="button insert-media add_media" data-editor="' . esc_attr( $editor_id ) . '" title="' . esc_attr__( 'Add Portfolio' ) . '">' . $img . __( 'Add Portfolio' ) . '</a>';
}
它会做什么。但是,现在,修改已创建窗口内容的最佳方法是什么?这是我的看法,最好是任何描述:
这将有多么复杂和棘手?我不知道我应该朝哪个方向前进,那可能吗?请提出任何建议,从哪里开始寻找解决方案。
PS:或者也许我一开始错了,应该考虑使用ThickBox?但我想保持媒体上载弹出窗口的本机外观。
干杯!
编辑:
好吧,也许更好的解决方案是使用本机库短代码模式。正如在此举例说明的,在媒体上载窗口中添加新菜单项并不难。
所以最终的愿景是这样的:
我相信必须使用Backbone.js完成它吗?但是主要的问题是,它可以操纵自定义帖子而不是图像吗?