0
我正在爲頁面創建一個自定義的元框。這個metabox的主要功能之一是能夠在Revolution Slider中調用。在這一點上,我可以創建一個下拉菜單,顯示所有已創建的revsliders,但我無法保存並調用它們。下面是我的代碼,也許有人可以告訴我我做錯了什麼。無法保存修改滑塊在自定義的框中
function simplex_page_theme ($post) {
$values = get_post_custom($post->ID);
$revslider = isset($values['revslider']) ? esc_attr($values['revslider'][0]) : 」;
wp_nonce_field('simp_meta_box', 'simplex_meta_box_nonce');
?>
<tr valign="top">
<td>
<?php $revslider = new RevSlider();
$arrSliders = $revslider->getArrSliders();
if(empty($arrSliders)) : ?>
<div style="background-color:#FFFFE0; border:1px solid #E6DB55; padding:0 0.8em; margin:0;">
<p style="font-weight:bold; margin:7px 0;"><?php printf(__('No sliders found! Please create a new slider from the %1$sRevolution Slider%2$s page.'), '<a href="admin.php?page=revslider">', '</a>'); ?></p>
</div>
<?php else : ?>
<label for="current_rev_slider"><?php esc_html_e('Choose a Revolution Slider:'); ?></label><br />
<select name="rev_slider_shortcode" id="current_rev_slider">
<option value=""<?php echo (get_option('revslider') == '') ? ' selected="selected"' : ''; ?>><?php esc_html_e('--Select Slider--'); ?></option>
<option value="<?php echo $revslider->getShortcode(); ?>"><?php echo $revslider->getTitle(); ?></option>
<?php foreach($arrSliders as $revslider): ?>
<?php endforeach; ?>
</select><br />
<em><?php printf(__('To create additional sliders or to configure the existing ones please refer to the %1$sRevolution Slider%2$s page.'), '<a title="'.esc_html__('Go to Revolution Slider page').'" href="admin.php?page=revslider">', '</a>'); ?></em><br />
<div class="clear"></div>
<?php endif; ?>
</td>
</tr>
<?php }
// Saves the Custom Metabozes
add_action('save_post', 'simplex_meta_box_save');
function simplex_meta_box_save($post_id){
// Bail if we're doing an auto save
if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
// if our nonce isn't there, or we can't verify it, bail
if(!isset($_POST['simplex_meta_box_nonce']) || !wp_verify_nonce($_POST['simplex_meta_box_nonce'], 'simp_meta_box')) return;
// if our current user can't edit this post, bail
if(!current_user_can('edit_post')) return;
// now we can actually save the data
$htmallowed = array(
'a' => array(// on allow a tags
'href' => array() // and those anchors can only have href attribute
)
);
// Make sure your data is set before trying to save it
if(isset($_POST['revslider']))
update_post_meta($post_id, 'revslider', esc_attr($_POST['revslider']));
}