我正在使用wordpress 3.5,我有一个带有元数据和一些输入字段的自定义帖子(sp_product).其中一个输入(sp_title).
我想通过输入我的输入(sp_title)字段按自定义帖子标题名称搜索,当我按下添加按钮(也在我的自定义元框中)时,它会找到该帖子的标题名称并带来一些帖子元数据进入这个Meta框并显示到其他字段中.
在这张图片中(例子)
请给我一个示例代码(只是简单)
>我将搜索一个简单的自定义帖子标题,
>单击按钮
>获取该帖子的标题(我搜索或匹配)与任何其他后元值,通过AJAX(jQuery-AJAX).
请帮我.
最佳答案
我能够找到领先优势,因为我的一个插件使用类似于重新附加图像的东西.
因此,相关的Javascript函数是findPosts.open(‘action’,’find_posts’).
因此,相关的Javascript函数是findPosts.open(‘action’,’find_posts’).
它似乎没有很好的记录,我只能找到两篇关于它的文章:
> Find Posts Dialog Box
> Using Built-in Post Finder in Plugins
试图实现两个代码示例,模态窗口打开但转储-1错误.那是因为Ajax调用没有在函数wp_ajax_find_posts
中传递check_ajax_referer.
因此,以下工作,它基于第二篇文章.但它有一个必须解决的安全漏洞,即wp_nonce_field – > check_ajax_referer.它在代码注释中指出.
要打开“帖子选择器”,请双击文本字段.
需要解决jQuery Select问题.
add_action( 'load-post.PHP','enqueue_scripts_so_14416409' );
add_action( 'add_Meta_Boxes','add_custom_Box_so_14416409' );
add_action( 'wp_ajax_find_posts','replace_default_ajax_so_14416409',1 );
/* Scripts */
function enqueue_scripts_so_14416409() {
# Enqueue scripts
wp_enqueue_script( 'open-posts-scripts',plugins_url('open-posts.js',__FILE__),array('media','wp-ajax-response'),'0.1',true );
# Add the finder dialog Box
add_action( 'admin_footer','find_posts_div',99 );
}
/* Meta Box create */
function add_custom_Box_so_14416409()
{
add_Meta_Box(
'sectionid_so_14416409',__( 'Select a Post' ),'inner_custom_Box_so_14416409','post'
);
}
/* Meta Box content */
function inner_custom_Box_so_14416409( $post )
{
?>