在 Oxygen Builder 中構建“趨勢帖子”部分 - 教程

已發表: 2022-06-22

在這篇文章和視頻教程中,我們將使用轉發器元素、WordPress 熱門帖子插件和高級查詢在 Oxygen Builder 中構建一個趨勢/熱門帖子部分。

我們在此博客上發布的與 Oxygen 相關的首批教程之一是如何創建一個受歡迎的帖子部分。 現在,在 2022 年,我們將使用最新的方法和最好的插件重新討論這個主題。

我們的代理機構在許多新聞和大型內容網站上工作。 這些類型的網站的持續要求是能夠顯示趨勢和熱門帖子。 這些小部件中的每一個都使用相同的機制 - 首先,我們需要了解特定帖子獲得了多少視圖,然後我們可以根據它進行查詢。

氧氣製造商徽標

氧氣生成器課程- 即將推出!

Oxygen Builder Mastery 課程將帶您從初學者到專業人士 - 包括 ACF、MetaBox 和 WooCommerce 模塊。

獲取發布通知和折扣

熱門帖子通常會在很長一段時間內查看帖子的總體瀏覽量。 例如,我們可以顯示博客上最熱門的帖子,或特定年份最熱門的帖子。

熱門帖子會查看較短時間段內的總體觀看次數,通常是一天或一周。 例如,如果一篇帖子在一天內獲得 100 次瀏覽,與網站平均 33 次瀏覽相比,我們就會知道這是趨勢。

WordPress 存儲庫中有許多插件,可讓您快速將這些類型的小部件添加到 WordPress 網站。 但是,氧氣中繼器和簡易帖子元素允許您認真自定義每個帖子的動態數據輸出。 在我們的項目中,我們使用中繼器構建完全定制的顯示器和卡片。

使用這種方法,我們可以使用轉發器輕鬆地將熱門帖子和趨勢帖子合併到 Oxygen Builder 中。

視頻教程

獲取意見

第一步是了解單個帖子獲得了多少瀏覽量。

為了獲得意見,我們將使用一個名為“ WordPress 熱門帖子”的流行插件。 這是一個非常強大的工具 - 它支持多語言,帶有緩存,在 GitHub 上有很好的文檔記錄,在 WP 管理員中有一個統計儀表板,甚至還有 API 支持!

各向同性-2022-06-19-at-17-41-16
在您的 Oxygen Builder 網站上安裝此插件

開箱即用,它為您提供可自定義的小部件,以輕鬆顯示您網站上最受歡迎的帖子。 您可以使用簡碼將它們插入 Oxygen。

但是,我們想更進一步,使用 Oxygen Builder 轉發器元素來顯示最流行和趨勢的帖子。 這樣,我們可以使用構建器來完全自定義我們最受歡迎的帖子的外觀。

但是,這個插件如何管理視圖計數存在一個小問題。 視圖存儲在與postspostmeta分開的數據庫表中。 要在氧氣生成器中使用標準 WordPress Square 進行查詢,我們需要通過元字段訪問這些數據。

將視圖添加到帖子元

安裝WordPress 熱門帖子插件後,就該讓這些數據可用於我們的查詢了。

為此,我們需要獲取最新的查看次數,並將它們填充到與我們的帖子關聯的自定義字段下。

一旦可以訪問此數據,我們就可以使用它在自定義 WordPress 查詢中按受歡迎程度對帖子進行排序。

首先,使用代碼片段管理器將此代碼添加到您的網站。 我們建議 Oxygen Builder 網站使用 Scripts Organizer。

/** * 將不同時間段的視圖存儲為元鍵。 * * @author @migueleste / @radgh * @link https://wordpress.org/support/topic/how-to-sort-a-custom-query-by-views-all-time-monthly-weekly-or- daily/ * @param int $postid 當前帖子/頁面/自定義帖子類型的ID。 */ function custom_wpp_update_postviews($postid) { // 準確性: // 10 = 10 次訪問中的 1 次將更新查看次數。 (推薦用於高流量網站。) // 30 = 30% 的訪問。 (中等流量的網站。)// 100 = 每次訪問。 每個請求創建許多數據庫寫入操作。 $準確度 = 50; if ( function_exists('wpp_get_views') && (mt_rand(0,100) < $accuracy) ) { // 刪除或註釋掉你不會使用的行!! update_post_meta($postid, 'views_total', wpp_get_views($postid, 'all', false) ); update_post_meta($postid, 'views_daily', wpp_get_views($postid, 'daily', false)); update_post_meta($postid, 'views_weekly', wpp_get_views($postid, 'weekly', false)); update_post_meta($postid, 'views_monthly', wpp_get_views($postid, 'monthly', false) ); } } add_action('wpp_post_update_views', 'custom_wpp_update_postviews');

此代碼由插件背後的開發人員創建,以完全滿足我們的需要 - 為我們提供可用的數據進行查詢。

它為我們提供了四個可以使用的新元字段views_total, views_daily, views_weekly, views_monthly

總瀏覽量和每月瀏覽量非常適合用於熱門帖子部分。 每日和每週視圖非常適合熱門帖子。

每個字段都包含相應視圖的數字 - 例如,在特定帖子上,我可以通過將其添加到應用於帖子的模板上的 Oxygen 代碼塊中來顯示前端的總視圖

<?php the_field('views_total'); ?> //示例輸出為 1203。這意味著自從帖子發布以來,它已收到 1203 次瀏覽。

不掛斷!

根據您的網站獲得的流量,您將需要對其進行優化,以便服務器資源耗盡將每個視圖寫入數據庫。 幸運的是,這個代碼片段有一個內置功能可以解決這個問題。

在此代碼片段的頂部附近,您可以看到一個部分以確保准確性。 代碼中註釋的是說明。

精度控制在0-100。 如果設置為 100,則每個頁面瀏覽都將記錄到數據庫中。 如果設置為 1,則 10 次訪問中有 1 次將更新查看次數。

對於流量較高的網站,應降低準確性。 這最大限度地減少了服務器上的負載和性能問題。

請記住,此插件並非旨在取代分析解決方案。 因此,準確性並不重要,因為收視率與帖子的比率相同。 您仍然會知道您的哪些帖子很受歡迎。

建立熱門帖子部分

現在,讓我們快速構建趨勢和熱門帖子部分。

我將使用轉發器,并快速添加特色圖片、帖子標題、摘錄和閱讀更多鏈接。 您也可以使用簡單的帖子,因為我們將使用 Oxygen 中包含的高級查詢功能。

各向同性-2022-06-19-at-18-04-50
我的“頭條新聞”展示,使用 Oxygen Builder 中繼器構建

查詢熱門帖子

現在,是時候從熱門帖子中查詢了。 如前所述,我們將使用當天的總體觀看次數,因為這可以讓我們很好地了解特定時期內的趨勢。

為此,請使用轉發器或簡易帖子元素的高級查詢功能。

各向同性-2022-06-19-at-18-06-39

單擊“編輯查詢”按鈕以打開高級查詢 UI。

現在,添加以下內容。 對於這個用例,我只想根據每週瀏覽量顯示最受歡迎的 8 個帖子。

我設置:

  • post_per_page = 8
  • no_found_rows = true(這會禁用轉發器的分頁)
  • post_type = 帖子
  • meta_key = views_weekly(這告訴 WordPress 我們需要將此字段中的數據與查詢相關聯。請記住,我們可以將其更改為總計、每日、每週或每月,具體取決於我們是否想要趨勢或熱門帖子)
  • order_by = meta_value_num(這告訴我們我們將按照與我們的元值關聯的數字排序,在這種情況下是每週視圖)
  • order = desc(這告訴我們將帖子按最多瀏覽次數排序到最少瀏覽次數)
各向同性-2022-06-19-at-18-07-39

現在,保存所有內容並前往 Oxygen 站點的前端。 您現在將在此特定轉發器中顯示帖子,按所選時間段內的查看次數排序。

獎金

我還想在博客的前端向我的讀者顯示總體瀏覽量。 為此,我將創建一個短代碼。 我將此代碼添加到我的片段管理器中:

<?php add_action('init', function(){ add_shortcode('post_views', function(){ return wpp_get_views(get_the_ID()); }); }); ?>

然後,我可以通過添加以下短代碼來插入單個帖子的查看次數:

[post_views]

在本教程中,我將此短代碼放在我的轉發器中以顯示與帖子關聯的視圖。 這樣,我可以驗證我的查詢是否按設計工作。

各向同性-2022-06-19-at-18-03-45
它在編輯器中不起作用,但在前端起作用。
各向同性-2022-06-19-at-18-14-12
前端轉發器,按每週瀏覽量排序,顯示前端的總瀏覽量。

這裡需要注意的是,這沒有使用我們在前面的代碼片段中添加到單個帖子中的視圖計數字段。 相反,它是從該插件在安裝期間添加的數據庫表中提取的。 這意味著這將始終是一個準確的視圖計數,無論前面的片段中所說的準確性如何(它們是兩個不同的東西)。

我還可以通過將以下 PHP 直接添加到應用於單個帖子的模板上的代碼塊來添加此信息:

<?php if ( function_exists('wpp_get_views') ) { // get_the_ID() 僅在使用時才有效 // 在循環中! (https://codex.wordpress.org/The_Loop) echo wpp_get_views(get_the_ID()); } ?> // 我也可以過濾 <?php if ( function_exists('wpp_get_views') ) { // '15' 這裡是帖子/頁面的 ID echo wpp_get_views(15, 'last7days'); } ?> // 更多:https://github.com/cabrerahector/wordpress-popular-posts/wiki/2.-Template-tags#wpp_get_views

結論

本文向您展示瞭如何使用 Oxygen Builder 中繼器將流行和/或趨勢帖子部分添加到使用此插件創建的網站。 如果您有任何問題或建議,請隨時將它們留在下面的常見部分中。

你可能會喜歡

訂閱和分享
如果您喜歡此內容,請訂閱我們關於 WordPress 新聞、網站靈感、獨家優惠和有趣文章的每月綜述。
隨時退訂。 我們不會發送垃圾郵件,也絕不會出售或分享您的電子郵件。