Intereting Posts
WordPress multisite – Какова идеальная настройка для среды разработки / промежуточной обработки? Как установить класс на «текущую страницу» на просматриваемой в данный момент отдельной записи в CPT используя $ wpdb для вставки формы в сообщение WordPress Multisite с NGINX, вложенными папками и FROM вложенной папкой Невозможно остановить хакера, пытаясь получить доступ администратора в блоге WordPress после многократного использования Заказывать сообщения случайным образом, а не по дате WordPress «Скрыть WP» дает мне ошибку после входа в систему Разместил ли WordPress папку плагина во время обновления? Предупреждения об обновлении WordPress Редактирование нижнего колонтитула для одной страницы, сохраняя его для других Галерея NextGEN – задайте размер изображения в лайтбоксе Получить текущие данные в массиве? Действия, функции и условные обозначения Почему мой браузер сохраняет загрузку старой версии пользовательских файлов JavaScript в \ divi \ js? Содержимое более 10 000 символов не будет отображаться с помощью параметра__события ()

Как хранить посещенные страницы?

Я работаю над проектом, который требует, чтобы число посещений страницы отображалось в одном сообщении.

Как я могу сделать это в WordPress, я предполагаю, что я должен хранить их в том же wordpress db?

Solutions Collecting From Web of "Как хранить посещенные страницы?"

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

add_shortcode( 'examplecounter', 'counter_shortcode' ); function counter_shortcode( $atts, $content = null ) { global $post; if( isset( $post->ID ) ) { $current_count = get_post_meta( $post->ID, '_counter_custom_field', true ); $new_count = $current_count === '' ? 1 : $current_count + 1; update_post_meta( $post->ID, '_counter_custom_field', $new_count ); return $new_count; } } 

И теперь вы можете поместить [examplecounter] любом месте сообщения, и он должен начать подсчет для вас. 🙂

 function k99_post_hits( $id, $action ) { $k99_HitMetaField = '_k99_post_hits'; // Your Custom field that stores the views $k99_PostHits = get_post_meta($id, $k99_HitMetaField, true); switch ($action) { case 'count' : if ( $k99_PostHits =='' ) { $k99_PostHits = mt_rand(200,950); //debug joke delete_post_meta( $id, $k99_HitMetaField); add_post_meta( $id, $k99_HitMetaField, $k99_PostHits ); } $k99_PostHits++; update_post_meta( $id, $k99_HitMetaField, $k99_PostHits ); break; case 'display' : echo 'this page was viewed: ' , $k99_PostHits ; } } 

Изменить I: примечание neewbie – забыл объяснить, как использовать:

Поместите это на страницу, которую вы хотите подсчитать, предпочтительно перед чем-либо еще, но внутри цикла.

 <?php k99_post_hits( $post->ID, 'count' ); //adding post counter?> 

Поместите следующую строку, где вы хотите отобразить счетчик:

 <?php k99_post_hits( $post->ID, 'display' ); //adding post counter display ?>