9 個 Wordpress 代碼為您的博客增添趣味並改善用戶體驗

WordPress的 易於配置和安裝,在您發布博客後即可使用。

但是依賴 Wordpress 的默認選項可能會導致您的損失:

  • 功能較少
  • 無聊的用戶(他們偶然發現的每個WP站點都看到相同的東西)
  • 搜索引擎排名下降。

您手中有一個靈活的工具,您可以調整它以使其成為一種令人愉快的使用和高效的依賴。 為什麼不為你的用戶(和你自己)加油呢?

本文希望通過添加有趣的內容來幫助您使基於 Wordpress 的網站變得有趣和有用 代碼片段 這也將增強您的 (搜索引擎優化).

[成功圖標=”感嘆號”]

需要幫助為WordPress博客增添趣味?
WHSR 現已與 Codeable.io 合作,協助需要專業 WP 開發/定制服務的用戶。

要獲得免費報價, 請填寫此申請表.

[/成功]

給他們一個嘗試,讓我知道他們是如何為你工作的! ;)

增強您的 WordPress 博客的 9 個代碼

我將在這篇文章中為您提供兩種類型的代碼片段:

  1. 法典代碼
  2. 代碼片段和小部件

法典代碼是 PHP 我自己寫的片段(在我未婚夫 Simone 的幫助下)嚴格使用 Wordpress.org 法典 作為參考。

代碼片段和小部件是現成的 PHP 在其他網站和 Wordpress.org 上免費提供的代碼(或 Wordpress 插件),但我還包括了我的未婚夫和我使用開放和 Codex 參考從頭開始編寫的片段。

這兩種類型的代碼都易於實現和安裝,但如果您不確定如何操作代碼,則可能需要從小部件和插件開始。

法典代碼

1。 區分粘性帖子

要讓 Wordpress 檢查您當前的帖子是否為置頂帖子 - 並相應地顯示它 - 您可以使用 Codex 布爾函數:

<?php is_sticky(); ?>

單獨的函數只返回TRUE或FALSE值,所以如果寫一個條件結構(if / else)來管理你的粘貼帖子,你可以在這裡做什麼。 一個例子:

<?php 如果 is_sticky() { the_title(); the_time('M, d, Y'); the_excerpt(); } else { 包括'後模板。php'; }

在這個示例用法中,我將置頂帖子顯示為一個僅包含標題、發布日期和摘錄(不是整個帖子)的框,而其他帖子的標準模板包含在帖子模板中。php.

每種類型的帖子都有自己的CSS樣式表,但我們不在這裡定義樣式; 只有模板。

單。php 是您的單個帖子的默認模板(您會發現它包含在每個默認的 WP 主題中)。

如果您已經開發了自己的WP主題但是沒有為單個帖子設置模板,則可以按照Codex指南進行操作 這裡.

2。 顯示帖子URL

添加到您的模板中可能會很有趣。 如果您希望您的讀者獲取您的每個頁面(或帖子)的 URI,只需在您的單曲中使用以下標籤。php, 頁。php 甚至索引。php 模板:

<a href="<?php echo get_page_link();?>"><?php 迴聲 get_page_link(); ?>

不是使用the_permalink,這是最明顯的選擇,適用於所有情況,WP允許您為帖子和頁面使用兩種替代形式:

<?php 迴聲 get_post_permalink(); ?>
 <?php echo get_page_link(); ?> 

例如,您的頁面模板可以包含:

關聯:php echo get_page_link();?>"><?php 迴聲 get_page_link(); ?>

3。 檢索並顯示帖子ID號

即使您將永久鏈接結構設置為用戶和SEO友好,您仍然可以通過將以下簡單函數添加到元行來向訪問者顯示帖子ID:

<?php the_ID(); ?>

樣品用法:

<p class="meta">Posted by Author's Name. Post ID is <?php the_ID(); ?></p>

4。 按ID列出類別

Wordpress 標準功能是:

<?php get_all_category_ids() ?>

這是我在我的一個博客上使用的一個例子,使用來自的代碼編寫 法典StackOverflow上的一個主題:

<?php
 $category_ids = get_all_category_ids(); foreach($category_ids as $cat_id) { $cat_name = get_cat_name($cat_id); $category_link = get_category_link($cat_id); //我們需要 cat 鏈接才能使 URL 正常工作! 迴聲“ {$cat_id} :{$cat_name} "; } ?>

…及其顯示方式:

類別WP代碼

注意:get_all_category_ids()現在是一個已棄用的函數,但你仍然可以毫無問題地使用它,就像我在我的博客上所做的那樣(上面的截圖)。 但是,如果您希望對此代碼段使用新功能,請訪問 get_terms() 食典委的頁面。

這段代碼有什麼作用?

該代碼獲取所有類別ID和每個ID的類別名稱,然後將ID鏈接到類別鏈接,同時在“:”後面顯示類別名稱-因此 迴聲() 表達 {$ cat_id} :{$ cat_name}.

5。 為您的博客提供詳細的用戶/作者頁面

您是否曾經想構建一個自定義頁面來顯示您所有的博客 作者 還是無需依賴插件的用戶?

好吧,你 能夠 僅使用文本編輯器創建您自己的自定義作者/用戶頁面, 則fTP 上傳者和您心愛的 Wordpress 儀表板。

首先,您需要創建頁面的副本。php 文件。 將您的副本重命名為任何名稱——我命名了我的用戶。php.

加入 模板標籤 到此模板的頂部,以便 Wordpress 將其識別為模板,然後轉到您的儀表板 ->頁面->添加新 並為您的用戶/作者列表創建一個頁面。 返回“頁面”列表,單擊新頁面標題下的“快速編輯”,然後從“模板”下拉菜單中選擇新模板。 保存更改。

現在打開您的用戶。php (或您命名的任何名稱)文件並應用以下代碼:

 <?php
 $result = count_users();
 echo 'There are ', $result['total_users'], ' total users';
 foreach($result['avail_roles'] as $role => $count)
 echo ', ', $count, ' are ', $role, 's';
 echo '.';
 ?> 

這段代碼使用了 count_users 該功能在法典中被列為“默認用法”。 您可以在以下位置查看此代碼的實時示例 http://robocity.in/users/.

在那段代碼之後,讓我們添加一些關於博客管理員的內容:

<?php printf( __( '用戶 "Leaders" 發布的帖子數: %d', 'text-dom-here' ), count_user_posts(1) ); ?>

我用 count_user_posts 這裡的功能,遵循食典委建議的使用格式。

該功能 get_userdata 很好地顯示某個用戶名與使用它的人的真實姓名之間的相關性。 見下文:

<?php $user_info = get_userdata(1); $username = $user_info->user_login; $first_name = $user_info->first_name; $last_name = $user_info->last_name; echo "$first_name $last_name 使用 $username 的用戶名登錄到他們的 WordPress 站點。"; ?>

現在,這是您可以在“作者/用戶”頁面上使用的最有趣的功能- get_users 功能:

<?php
$blogusers = get_users('blog_id=1&orderby=nicename&role=administrator'); // WP_User 對像數組。 foreach ( $blogusers as $user ) { echo ' ' . esc_html($user->user_login) 。 '-'。 esc_html($user->user_email) 。 ' '; } ?>

此功能將根據您可以在代碼中配置的某些參數來檢索用戶列表。 在上面的示例中(取自Codex頁面,並進行編輯以適合Robocity.in的“用戶”頁面),我想要獲取按“ nicename”排序的博客ID 1(當前博客)的管理員列表,對於每個用戶,我想用“ Username – [電子郵件保護]“。

如果您希望向用戶顯示有關自己的信息,可以使用 get_currentuserinfo 用於檢索用戶姓名和地址的功能。 我沒有在我的例子中使用這個功能,但創造力不知道限制,對吧? ;)

代碼片段和小部件

6.另類…檔案!

更好的博客檔案想像一下,如果您可以用右邊的代碼段替換舊的側邊欄存檔列表(隨著博客的增長並迫使用戶滾動,它會不斷增長)。

難道不會讓您的讀者更容易一目了然地捕捉您的博客時代和檔案深度嗎? :)

我的未婚夫和我使用Codex的get_post和檔案列表的簡單下拉菜單編寫了這個簡單的片段。 我們創建了自己的功能,以使這個想法很好地運作。

<?php
 函數 formatPostDate($postId, $format = '%F') { $post = get_post($postId); $output = strftime($format, strtotime($post->post_date)); 返回$輸出; } function getLastPostID() { list($post) = get_posts(array('posts_per_page' => 1)); 返回 $post->ID; } ?> 該博客自 <?php echo formatPostDate(1, '%B %e, %Y'); ?>。 上一篇文章發表於 <?php echo formatPostDate(getLastPostID(), '%B %e, %Y'); ?>。 您想訪問特定的檔案嗎?  <?php echo esc_attr( __( '選擇存檔' ) ); ?> <?php wp_get_archives(array('type' => 'monthly', 'format' => 'option', 'show_post_count' => 1 ) ); ?>

這段代碼有什麼作用?

函數formatPostDate採用帖子的ID和日期格式,並以您選擇的格式返回日期。 第二個函數getLastPostID獲取僅包含一個帖子的帖子數組並返回其ID。

要獲取博客的第一篇文章(通常ID為1),我們在第一段中編寫echo formatPostDate(1,'%B%e,%Y'):此代碼使用formatPostDate函數並將帖子ID作為參​​數#1和標準英語格式的日期,並返回日期。

要獲取博客的最後一篇文章,我們使用formatPostDate(getLastPostID(),'%​​B%e,%Y')來獲取最後一篇文章的ID和日期格式(再次以英語顯示),並在屏幕。

7。 檢查訪問者是否使用移動設備

WP-Snippets.com上的Muneeb分享了一個有趣的代碼片段(一個函數)來檢查您網站上的訪問者是否正在使用移動設備。

代碼可用 這裡.

此功能有助於進行移動優化,如果您希望僅向移動用戶顯示某些功能或將移動用戶排除在某些網站功能之外,則此功能很有用。

8。 使用if / else構造來操縱頁面邊欄內容

此代碼片段基於 Wordpress 的 Codex,但我將其放置在本節中是因為它可以帶來很多創意,並且您可以在 Web 上找到現成的片段。

假設您要在您的網站上使用多個側邊欄。 你可以用div和section填充你的側邊欄,但是文件越多(即使你使用小部件),它就會越重。

食品法典委員會帶你去救援 get_sidebar($名) 功能。 用法很簡單:

  1. 為您的報價片段創建(比如說)一個側邊欄。 將其命名為側邊欄引號。php
  2. 在主側邊欄中。php 文件(或標題或索引文件,根據您的 WP 主題結構)寫 get_sidebar(“quotes”); 包括“側邊欄引號。php“檔案。

您將獲得一個更纖細的側邊欄,其中包含對其他子側邊欄的調用,如果您知道一點,您可以使用 if/else 結構進行優化 PHP 編碼 對於WordPress。

你可能不知道,但是當你使用通用的 get_sidebar() 代碼時,它會包含“sidebar.php” 因為您沒有添加 $name 參數。 這是默認用法。 當您在“sidebar*.php”,您可以使用 $name 參數調用該名稱插件。

如果您要在博客的某些頁面上顯示廣告,特別優惠或側邊欄功能,或者會使標準側邊欄超載的代碼,您會發現此代碼段可以為用戶體驗提供終身保護。

9. 將代碼片段集成到您的 Wordpress 網站的工具

codesnippets截圖

代碼片段 是由 Shea Bange 創建的免費 Wordpress 插件,可讓您輕鬆地將代碼片段添加到您的博客。

這個插件的好處是你不再需要編輯你的 功能。php 文件,但您可以直接從 Wordpress 儀表板添加自定義代碼。 基本上,您可以像添加新帖子或頁面一樣添加代碼片段。

WPMUDev.org的Tom Ewer 寫了一篇關於這個插件的有趣介紹,但到目前為止,我發現Code Snippets最有用的資源是 Wordpress.org 上的插件支持論壇.

給你!

在下面的評論中分享您的 Wordpress 編碼實驗! 並隨時就本文中介紹的片段提出問題。

作者照片

Luana Spinetti 的文章