Intereting Posts
обновить значение в wordpress wp_options Почему не работает ОДИН из моих ссылок в нижнем колонтитуле? WordPress и Git – Какие папки я должен отслеживать? Неопределенная ошибка индекса при сохранении содержимого в метабоксе WordPress автоматически переадресовывает 301, если я изменяю постоянную ссылку Постоянная ссылка установлена ​​на /% postname% /, но все еще есть ссылки, индексированные в форме? P = x Как заменить содержимое редактора tinyMCE в текстовом и визуальном режиме с помощью jQuery? Лучший и Самый чистый способ удалить / категорию / из категории permalinks? Пользовательские функции формы формы виджета Не показывать вложения, если они вставлены в сообщение Определение URI для плагинов Сравните старую мета с новой меткой сообщения WordPress так медленно загружается на MAMP WP JSON REST API (Ryan McCue), как запрашивать сообщения с конкретными метаданными с отношением «И»? Как использовать отображаемое имя в качестве заголовка сообщения в настраиваемом типе сообщений?

Показывать значения пользовательских сообщений в представлении сетки WordPress

Я создал пользовательский тип сообщения в WordPress, как показано на рисунке.

введите описание изображения здесь Я хочу показать значения eneterd в этом настраиваемом столбце в виде сетки панели администратора. Теперь панель администратора показывает только заголовки, даты и комментариев, но я хочу показать значения полей Pair2, buy sell и activity, как указано в моем пользовательском сообщении. Я искал много, но не нашел решения. Как мне это сделать в WordPress? введите описание изображения здесь

РЕДАКТИРОВАТЬ
Вот как я делаю свой пользовательский пост

<?php if( ! function_exists( 'quote_create_post_type' ) ) : function quote_create_post_type() { $labels = array( 'name' => __( 'ForexPair' ), 'singular_name' => __( 'ForexPair' ), 'add_new' => __( 'Add Pair Entry' ), 'all_items' => __( 'All Pairs' ), 'add_new_item' => __( 'Add Pair' ), 'edit_item' => __( 'Edit Pair' ), 'new_item' => __( 'New Pair' ), 'view_item' => __( 'View Pair' ), 'search_items' => __( 'Search Pairs' ), 'not_found' => __( 'No pair found' ), 'not_found_in_trash' => __( 'No pair found in trash' ), 'parent_item_colon' => __( 'Parent pair' ) //'menu_name' => default to 'name' ); $args = array( 'labels' => $labels, 'public' => true, 'has_archive' => true, 'publicly_queryable' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'supports' => array( 'title' ), 'register_meta_box_cb' => 'quote_add_post_type_metabox' ); register_post_type( 'quote', $args ); //flush_rewrite_rules(); } add_action( 'init', 'quote_create_post_type' ); function quote_add_post_type_metabox() { // add the meta box //add_meta_box( 'quote_metabox', 'quote_metabox', 'quote', 'normal' ); add_meta_box( 'quote_metabox', 'Pair Entries', 'quote_metabox', 'quote', 'normal' ); } function quote_metabox() { global $post; // Noncename needed to verify where the data originated echo '<input type="hidden" name="quote_post_noncename" id="quote_post_noncename" value="' . wp_create_nonce( plugin_basename(__FILE__) ) . '" />'; // Get the data if its already been entered $quote_post_entryprice = get_post_meta($post->ID, '_quote_post_entryprice', true); $quote_post_stoploss = get_post_meta($post->ID, '_quote_post_stoploss', true); $quote_post_pairname = get_post_meta($post->ID, '_quote_post_pairname', true); $quote_post_buysell = get_post_meta($post->ID, '_quote_post_buysell', true); $quote_post_activity = get_post_meta($post->ID, '_quote_post_activity', true); $quote_post_takeprofit = get_post_meta($post->ID, '_quote_post_takeprofit', true); // Echo out the field ?> <link rel="stylesheet" href="http://gripforex.com/wp-content/themes/Forsy/select2.css" /> <script type="text/javascript" src="http://gripforex.com/wp-content/themes/Forsy/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="http://gripforex.com/wp-content/themes/Forsy/jquery-ui-1.10.3.custom.min.js"></script> <script type="text/javascript" src="http://gripforex.com/wp-content/themes/Forsy/select2.js"></script> <style> .lbl{ width: 86px; display: block; line-height: 20px; } </style> <div class="width_full p_box"> <p> <label class="lbl">Pair:</label> <script> $(document).ready(function() { $("#e1").select2({ matcher: function(term, text) { return text.toUpperCase().indexOf(term.toUpperCase())==0; } }); }); $(document).ready(function() { $("#e2").select2({ matcher: function(term, text) { return text.toUpperCase().indexOf(term.toUpperCase())==0; } }); }); $(document).ready(function() { $("#e3").select2({ matcher: function(term, text) { return text.toUpperCase().indexOf(term.toUpperCase())==0; } }); }); </script> <select name="quote_post_pairname" id="e1" style="width:144px;"> <option value="AUD/CAD" <?php if($quote_post_pairname=="AUD/CAD") echo "selected"; ?> >AUD/CAD</option> <option value="AUD/CHF" <?php if($quote_post_pairname=="AUD/CHF") echo "selected"; ?> >AUD/CHF</option> </select></p> <p> <label class="lbl">Buy Sell <select name="quote_post_buysell" id="e2" style="width:144px;"> <option value="Buy" <?php if($quote_post_buysell=="Buy") echo "selected"; ?> >Buy</option> <option value="Sell" <?php if($quote_post_buysell=="Sell") echo "selected"; ?> >Sell</option> </select> </label> </p> <p> <label class="lbl">Activity <select name="quote_post_activity" id="e3" style="width:144px;"> <option value="Get Ready" <?php if($quote_post_activity=="Get Ready") echo "selected"; ?> >Get Ready</option> <option value="Active" <?php if($quote_post_activity=="Active") echo "selected"; ?> >Active</option> </select> </label> </p> <p> <label class="lbl">Entry Price<br> <input type="text" name="quote_post_entryprice" class="widefat" value="<?php echo $quote_post_entryprice; ?>"> </label> </p> <p><label class="lbl">Stop Loss<br> <input type="text" name="quote_post_stoploss" value="<?php echo $quote_post_stoploss; ?>" class="widefat" /> </label> </p> <p><label class="lbl">Take Profit<br> <input type="text" name="quote_post_takeprofit" value="<?php echo $quote_post_takeprofit; ?>" class="widefat" /> </label> </p> </div> <?php } function quote_post_save_meta( $post_id, $post ) { // save the data if( !wp_verify_nonce( $_POST['quote_post_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; } $quote_post_meta['_quote_post_entryprice'] = $_POST['quote_post_entryprice']; $quote_post_meta['_quote_post_stoploss'] = $_POST['quote_post_stoploss']; $quote_post_meta['_quote_post_pairname'] = $_POST['quote_post_pairname']; $quote_post_meta['_quote_post_buysell'] = $_POST['quote_post_buysell']; $quote_post_meta['_quote_post_activity'] = $_POST['quote_post_activity']; $quote_post_meta['_quote_post_takeprofit'] = $_POST['quote_post_takeprofit']; // add values as custom fields foreach( $quote_post_meta as $key => $value ) { // cycle through the $quote_post_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 if blank delete_post_meta( $post->ID, $key ); } } } add_action( 'save_post', 'quote_post_save_meta', 1, 2 ); // save the custom fields endif; // end of function_exists() if( ! function_exists( 'view_quotes_posts' ) ) : // output function view_quotes_posts( $num = 4, $do_shortcode = 1, $strip_shortcodes = 0 ) { $args = array( 'numberposts' => $num, 'offset' => 0, //'category' => , 'orderby' => 'menu_order, post_date', // post_date, rand 'order' => 'DESC', 'post_type' => 'quote', 'post_status' => 'publish', 'suppress_filters' => true, ); $posts = get_posts( $args ); global $wpdb; $querystr = "select $wpdb->posts.* FROM $wpdb->posts WHERE $wpdb->posts.post_type = 'quote' "; $html = '<table><tr><th>Pair</th><th>Action</th><th>Status</th><th>Entry Price</th><th>Stop Loss</th><th>Take Profit</th></tr>'; foreach ( $posts as $post ) { $meta_entryprice = get_post_meta( $post->ID, '_quote_post_entryprice', true ); $meta_stoploss = get_post_meta( $post->ID, '_quote_post_stoploss', true ); $meta_pairname = get_post_meta( $post->ID, '_quote_post_pairname', true ); $meta_buysell = get_post_meta( $post->ID, '_quote_post_buysell', true ); $meta_activity = get_post_meta( $post->ID, '_quote_post_activity', true ); $meta_takeprofit = get_post_meta( $post->ID, '_quote_post_takeprofit', true ); $html.='<tr>'; $html .= ' <td>'.$meta_pairname.'</td> <td>'.$meta_buysell.'</td> <td>'.$meta_activity.'</td> <td>'.$meta_entryprice.'</td> <td>'.$meta_stoploss.'</td> <td>'.$meta_takeprofit.'</td> '; $html.='</tr>'; } $html .="</table>"; $html = '<div class="wrapper">'.$html.'</div>'; return $html; } endif; ?> 

Solutions Collecting From Web of "Показывать значения пользовательских сообщений в представлении сетки WordPress"

Вы можете использовать manage_edit-${post_type}_columns сочетании с действием manage_${post_type}_posts_custom_column . Проверьте пример в кодексе и поэтапно деконструируйте его.

Сначала убедитесь, что вы указали правильное имя зарегистрированного пользовательского типа сообщения. Вы зарегистрировали тип сообщения с quote имени.

set_custom_edit_quote_columns определите столбцы, которые вы хотите добавить (см. set_custom_edit_quote_columns ), и выделите соответствующие значения (см. custom_quote_columns ).

Вы должны получить что-то вроде этого:

 add_filter( 'manage_edit-quote_columns', 'set_custom_edit_quote_columns' ); add_action( 'manage_quote_posts_custom_column' , 'custom_quote_columns', 10, 2 ); function set_custom_edit_quote_columns( $columns ) { $columns['pair'] = __( 'Pair' ); $columns['buysell'] = __( 'Buy Sell' ); $columns['activity'] = __( 'Activity' ); $columns['entryprice'] = __( 'Entry Price' ); $columns['stoploss'] = __( 'Stop Loss' ); $columns['takeprofit'] = __( 'Take Profit' ); return $columns; } function custom_quote_columns( $column, $post_id ) { switch ( $column ) { case 'pair' : echo get_post_meta( $post_id, '_quote_post_pairname', true ); break; case 'buysell' : echo get_post_meta( $post_id, '_quote_post_buysell', true ); break; case 'activity' : echo get_post_meta( $post_id, '_quote_post_activity', true ); break; case 'entryprice' : echo get_post_meta( $post_id, '_quote_post_entryprice', true ); break; case 'stoploss' : echo get_post_meta( $post_id, '_quote_post_stoploss', true ); break; case 'takeprofit' : echo get_post_meta( $post_id, '_quote_post_takeprofit', true ); break; } }