Intereting Posts
Я пытаюсь добавить информацию в профиль пользователя Отображение 3 сообщений категории по-разному Как получить доступ к БД WordPress из файла плагина Yoast SEO – обновление названий и описаний вызывает ошибку 403 или 404 WordPress Authentication Middleware Предварительный черновик с постоянными полями postname, не работающими с другим URL-адресом сайта Не удается установить WordPress (локальный) Не удалось открыть файл wp-includes / wp-db.php Переопределение перевода родительских тегов по дочерней теме Посты запросов для каждой разделяемой категории (Похожие сообщения) На панели скрыть группу метабокс, аналогично настройкам экрана? как иметь __ () перевод на языках, отличных от администратора? Внешнее соединение с БД Как сортировать сообщения по умолчанию в заголовке по возрастанию? Файлы SVG и wordpress URL-адрес страницы не работает из-за физического каталога

Как добавить меню выбора в этот код обмена?

Я использую сценарий метабокса, который отлично подходит для абсолютного контроля над дизайном и размещением полей метаболизма. Есть одна проблема: я не могу вспомнить, где я нашел скрипт, и вам нужно добавить поле выбора. Этот сценарий не использует массивы, как это делают большинство сценариев метаболизма.

Какую функцию я могу использовать для успешного добавления поля выбора?

// Add the Inventory Meta Boxes function add_inventory_metaboxes() { add_meta_box('inventory_information', 'Inventory Information', 'inventory_information', 'inventory', 'side', 'default'); } // The Event Location Metabox function inventory_information() { global $post; // Noncename needed to verify where the data originated echo '<input type="hidden" name="inventorymeta_noncename" id="inventorymeta_noncename" value="' . wp_create_nonce( plugin_basename(__FILE__) ) . '" />'; // Get the location data if its already been entered $stocknum = get_post_meta($post->ID, '_dappcf_i_stocknum', true); $vin = get_post_meta($post->ID, '_dappcf_i_vin', true); $saleprice = get_post_meta($post->ID, '_dappcf_i_priceone', true); $internetprice = get_post_meta($post->ID, '_dappcf_i_pricetwo', true); $milage = get_post_meta($post->ID, '_dappcf_i_mileage', true); $carfaxurl = get_post_meta($post->ID, '_dappcf_i_carfaxurl', true); // Echo out the fields echo '<p>Stock #: <input type="text" name="_dappcf_i_stocknum" value="' . $stocknum . '" class="widefat" style="width:80px" /> &nbsp;&nbsp;&nbsp; Milage: <input type="text" name="_dappcf_i_mileage" value="' . $milage . '" class="widefat" style="width:80px" /> &nbsp;&nbsp;&nbsp; VIN: <input type="text" name="_dappcf_i_vin" value="' . $vin . '" class="widefat" style="width:200px" />'; echo '<p>Sale Price: <input type="text" name="_dappcf_i_priceone" value="' . $saleprice . '" class="widefat" style="width:80px" /> &nbsp;&nbsp;&nbsp; Internet Price: <input type="text" name="_dappcf_i_pricetwo" value="' . $internetprice . '" class="widefat" style="width:80px" />'; echo '<p>CarFax url: <input type="text" name="_dappcf_i_carfaxurl" value="' . $carfaxurl . '" class="widefat" style="width:170px" />'; } // Save the Metabox Data function txpbs_save_events_meta($post_id, $post) { // verify this came from the our screen and with proper authorization, // because save_post can be triggered at other times if ( !wp_verify_nonce( $_POST['inventorymeta_noncename'], plugin_basename(__FILE__) )) { return $post->ID; } // Is the user allowed to edit the post or page? if ( !current_user_can( 'edit_post', $post->ID )) return $post->ID; // OK, we're authenticated: we need to find and save the data // We'll put it into an array to make it easier to loop though. $station_meta['_dappcf_i_stocknum'] = $_POST['_dappcf_i_stocknum']; $station_meta['_dappcf_i_vin'] = $_POST['_dappcf_i_vin']; $station_meta['_dappcf_i_priceone'] = $_POST['_dappcf_i_priceone']; $station_meta['_dappcf_i_pricetwo'] = $_POST['_dappcf_i_pricetwo']; $station_meta['_dappcf_i_mileage'] = $_POST['_dappcf_i_mileage']; $station_meta['_dappcf_i_carfaxurl'] = $_POST['_dappcf_i_carfaxurl']; // Add values of $station_meta as custom fields foreach ($station_meta as $key => $value) { // Cycle through the $station_meta array! if( $post->post_type == 'revision' ) return; // Don't store custom data twice $value = implode(',', (array)$value); // If $value is an array, make it a CSV (unlikely) if(get_post_meta($post->ID, $key, FALSE)) { // If the custom field already has a value update_post_meta($post->ID, $key, $value); } else { // If the custom field doesn't have a value add_post_meta($post->ID, $key, $value); } if(!$value) delete_post_meta($post->ID, $key); // Delete if blank } } add_action('save_post', 'txpbs_save_events_meta', 1, 2); // save the custom fields 

Solutions Collecting From Web of "Как добавить меню выбора в этот код обмена?"

В основном вам нужно добавить html раскрывающегося списка select в вашу function inventory_information() которая является функцией, которая фактически отображает обмен:

 // The Event Location Metabox function inventory_information() { global $post; // Noncename needed to verify where the data originated echo '<input type="hidden" name="inventorymeta_noncename" id="inventorymeta_noncename" value="' . wp_create_nonce( plugin_basename(__FILE__) ) . '" />'; // Get the location data if its already been entered $stocknum = get_post_meta($post->ID, '_dappcf_i_stocknum', true); $vin = get_post_meta($post->ID, '_dappcf_i_vin', true); $saleprice = get_post_meta($post->ID, '_dappcf_i_priceone', true); $internetprice = get_post_meta($post->ID, '_dappcf_i_pricetwo', true); $milage = get_post_meta($post->ID, '_dappcf_i_mileage', true); $carfaxurl = get_post_meta($post->ID, '_dappcf_i_carfaxurl', true); //here you add the dropdown as value if already set so you add something like $my_dropdown = get_post_meta($post->ID, '_dappcf_i_dropdown', true); // Echo out the fields echo '<p>Stock #: <input type="text" name="_dappcf_i_stocknum" value="' . $stocknum . '" class="widefat" style="width:80px" /> &nbsp;&nbsp;&nbsp; Milage: <input type="text" name="_dappcf_i_mileage" value="' . $milage . '" class="widefat" style="width:80px" /> &nbsp;&nbsp;&nbsp; VIN: <input type="text" name="_dappcf_i_vin" value="' . $vin . '" class="widefat" style="width:200px" />'; echo '<p>Sale Price: <input type="text" name="_dappcf_i_priceone" value="' . $saleprice . '" class="widefat" style="width:80px" /> &nbsp;&nbsp;&nbsp; Internet Price: <input type="text" name="_dappcf_i_pricetwo" value="' . $internetprice . '" class="widefat" style="width:80px" />'; echo '<p>CarFax url: <input type="text" name="_dappcf_i_carfaxurl" value="' . $carfaxurl . '" class="widefat" style="width:170px" />'; //here you add the HTML of the dropdown you add something like echo '<p>Select menu: <select name="_dappcf_i_dropdown" class="widefat">'; echo '<option value="1"'. $my_dropdown == "1" ? ' selected="selected"' : ''. '>' . 'Option 1'. '</option>'; echo '<option value="2"'. $my_dropdown == "2" ? ' selected="selected"' : ''. '>' . 'Option 2'. '</option>'; echo '<option value="3"'. $my_dropdown == "3" ? ' selected="selected"' : ''. '>' . 'Option 3'. '</option>'; echo '<option value="4"'. $my_dropdown == "4" ? ' selected="selected"' : ''. '>' . 'Option 4'. '</option>'; //add as many as you need here echo '</select>'; } 

а затем просто добавьте это поле в функцию сохранения метабокса, которая равна txpbs_save_events_meta поэтому:

 // Save the Metabox Data function txpbs_save_events_meta($post_id, $post) { // verify this came from the our screen and with proper authorization, // because save_post can be triggered at other times if ( !wp_verify_nonce( $_POST['inventorymeta_noncename'], plugin_basename(__FILE__) )) { return $post->ID; } // Is the user allowed to edit the post or page? if ( !current_user_can( 'edit_post', $post->ID )) return $post->ID; // OK, we're authenticated: we need to find and save the data // We'll put it into an array to make it easier to loop though. $station_meta['_dappcf_i_stocknum'] = $_POST['_dappcf_i_stocknum']; $station_meta['_dappcf_i_vin'] = $_POST['_dappcf_i_vin']; $station_meta['_dappcf_i_priceone'] = $_POST['_dappcf_i_priceone']; $station_meta['_dappcf_i_pricetwo'] = $_POST['_dappcf_i_pricetwo']; $station_meta['_dappcf_i_mileage'] = $_POST['_dappcf_i_mileage']; $station_meta['_dappcf_i_carfaxurl'] = $_POST['_dappcf_i_carfaxurl']; //here just add the dropdown field to the $station_meta array from the $_POST $station_meta['_dappcf_i_dropdown'] = $_POST['_dappcf_i_dropdown']; // Add values of $station_meta as custom fields foreach ($station_meta as $key => $value) { // Cycle through the $station_meta array! if( $post->post_type == 'revision' ) return; // Don't store custom data twice $value = implode(',', (array)$value); // If $value is an array, make it a CSV (unlikely) if(get_post_meta($post->ID, $key, FALSE)) { // If the custom field already has a value update_post_meta($post->ID, $key, $value); } else { // If the custom field doesn't have a value add_post_meta($post->ID, $key, $value); } if(!$value) delete_post_meta($post->ID, $key); // Delete if blank } } 

Надеюсь это поможет.