Выберите «Просмотр сообщений» с помощью панели параметров

У меня есть разрешения просмотров, и я пытаюсь сделать опцию панели параметров, чтобы позволить пользователям выбирать, хотите ли они отображать просмотры сообщений в каждом сообщении . Если они выберет «Да», тогда они будут отображаться в виде сообщений. Если они выбирают «Нет», тогда они не будут.

Я надеюсь, что кто-то может помочь мне создать правильный get_option для отображения просмотров сообщений на основе того, что выбрано на панели параметров.

Что я пытался захватить мои сообщения, и это не сработало:

<?php if (get_option('to_post_views') != 'No' and function_exists('post_views_count')) post_views_count(); ?> 

Без включенных опций я могу захватить мои просмотры сообщений следующим образом:

 <!-- Remember Post Views --> <?php setPostViews(get_the_ID()); ?> <!-- Display Post Views--> <?php echo getPostViews(get_the_ID()); ?> 

Моя функция просмотра сообщений:

 // Post views function getPostViews($postID){ $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0 View"; } return $count.' Views'; } function setPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 

Мой массив для панели параметров:

 array( "name" => "Display post views?", "desc" => "Choose whether or not to display post views.", "id" => $shortname."_post_views", "type" => "select", "options" => array("Yes", "No"), "std" => "Yes"), 

Solutions Collecting From Web of "Выберите «Просмотр сообщений» с помощью панели параметров"

Так что это касается ваших файлов functions.php. Это добавляет метабокс в правой части вашего редактора в сообщениях под заголовком «Включить просмотр сообщений в этом сообщении»: введите описание изображения здесь

 // Hook into WordPress add_action( 'admin_init', 'add_custom_metabox' ); add_action( 'save_post', 'wpse_16722_save_post_views_value' ); /** * Add meta box */ function add_custom_metabox() { add_meta_box( 'enable_post_views', __( 'Enable Post Views on this Post' ), 'wpse_16722_enable_post_views', 'post', 'side', 'low' ); } /** * Display the metabox */ function wpse_16722_enable_post_views() { global $post; $enable_views = get_post_meta( $post->ID, 'enable_views', true ); ?> <p> <input type="checkbox" id="enable-views" name="enable_views" value="1" <?php checked( $enable_views, 1 ); ?> style="margin-right: 10px;"> <label for="enable-views"><?php _e('Enable Post Views on this Post', 'domain'); ?></label> </p> <?php } /** * Process the custom metabox fields */ function wpse_16722_save_post_views_value( $post_id ) { global $post; if( isset( $_POST['enable_views'] ) ? $_POST['enable_views'] : '' ) { update_post_meta( $post->ID, 'enable_views', $_POST['enable_views'] ); } else { delete_post_meta( $post->ID, 'enable_views' ); } } /** * Get and return the values for the URL and description */ function wpse_16722_get_post_views_box() { global $post; $enable_views = get_post_meta( $post->ID, 'enable_views', true ); return $enable_views; } 

Это сохраняет ценность как метаданные в ваших сообщениях. meta_key – это «enable_views», и вы можете увидеть его в своей базе данных под yourprefix_postmeta .

Когда у вас есть значение, сохраненное в сообщении как истинное. Вы можете просто проверить это на почте, где вы хотите, чтобы счетчик выглядел следующим образом:

 // Inside the loop add this // Get the values from "enable_views" // If true add the views counter $is_enabled = get_post_meta( $post->ID, 'enable_views', true ); if( $is_enabled ) { echo getPostViews( post->ID ); } 

Обновление 19.11

Показывать только представления, когда опции «Да» помещают это в ваш single.php

 // Get the options $options = get_option('to_post_views'); // Echo if options is Yes if( $options == 'Yes' ) { echo getPostViews( get_the_ID() ); }