的WordPress元框meta_box調用wp_ajax。這個時候,我想補充一個WordPress AJAX
我試過,但沒有作品。
add_action('add_meta_boxes', 'add_custom_meta_box', 'post_type');
function add_custom_meta_box($post_type) {
if ($post_type == 'minisites') {
add_meta_box('sections_meta_box', 'Add Section', 'show_custom_meta_box');
// echo Utils::createStructureBox();
}
if ($post_type == 'sections') {
add_meta_box('sections_structure_box', 'Section Structure', 'show_section_structure_box');
}
}
function show_custom_meta_box() {
echo Utils::createSelect();
echo Utils::includeScripts();
}
function show_section_structure_box() {
echo "Done";
}
add_action('wp_ajax_addStructureBox', 'addStructureBox');
function addStructureBox() {
add_custom_meta_box('sections');
}
和jQuery
$(document).ready(function() {
$('.addSection').on('click', function() {
var selectedSection = $('#sections option:selected').text();
$.post(ajaxurl, {action: 'addStructureBox', section: selectedSection}, function (data) {
alert(data);
});
});
});
似乎不錯,但在addStructureBox調用add_custom_meta_box不工作顯然。
那麼有什麼想法?
在此先感謝
朱塞佩
編輯:HTML代碼
public static function createSelect() {
$sections = get_posts(array(
'post_type' => 'sections')
);
$html = '<select id="sections" name="item[]">';
foreach ($sections as $section) {
$html .= '<option value="' . $section->ID . '">' . $section->post_title . '</option>';
}
$html .= '</select><br><br>';
$html .= '<input type="button" class="button button-primary button-large addSection" id="add" value="Add"></button>';
return $html;
}
編輯:截圖
爲什麼你要通過AJAX metabox? – madalinivascu
我需要添加一個元框當我點擊添加部分按鈕從第一個元框 –
爲什麼不預先加載元框? – madalinivascu