條件標籤是 WordPress 擁有的眾多優秀架構之一,可以幫助我們更輕鬆地進行 WordPress 開發。在本文中,我們將了解其中一些並在範例函數中使用它們,例如從錯誤頁面中刪除內容或更改管理頁面的圖示。
什麼是「條件標籤」?
它們基本上是「是非問題」:當您使用它們時,它們只會傳回 TRUE 或 FALSE。我們在 if
語句中使用它們 - 如果語句為 TRUE 或 FALSE,我們可以根據答案處理我們的程式碼。
您可以在 WordPress Codex 中查看所有條件標籤。
現在,讓我們進入有趣的部分!本文中有十個使用條件標籤的很棒的函數。
功能1. 在首頁顯示彈出訊息 is_front_page()
從主頁向訪客打招呼可能會讓訪客感到愉快,或者您可以對定期維護發出警告,或者可以顯示一個可怕的彈出廣告。無論您需要做什麼,都可以按照以下步驟操作:
首先,您需要在此處取得 Colorbox jQuery 外掛程式。從「colorbox/colorbox」資料夾和colorbox.css取得colorbox.min.js(以及對應的「images」文件夾)複製到主題資料夾內的「colorbox」資料夾。
然後,您需要建立一個 colorbox.load.js 檔案才能載入彈出視窗。也將此檔案放入「colorbox」資料夾:
jQuery(document).ready(function($) { var $popup = $("#mypopup"); $.colorbox({href:$popup}); });
之後,將彈出HTML 程式碼(CSS ID 為「mypopup
」)放入主題的index.php 檔案中,並將其隱藏在style.css strong> 檔案(有「#mypopup {display:none;}
」)。
function front_popup() { if(is_front_page()) { // load colorbox.min.js wp_enqueue_script('colorbox-js', get_template_directory_uri().'/colorbox/colorbox.min.js',array('jquery')); // load colorbox.load.js wp_enqueue_script('colorbox-load-js', get_template_directory_uri().'/colorbox/colorbox.load.js',array('colorbox-js')); // load colorbox.css wp_enqueue_style('colorbox-css', get_template_directory_uri().'/colorbox/colorbox.css'); } } add_action('wp_head','front_popup');
將其貼到您的 functions.php 檔案中,然後就可以開始了!
注意:為了讓彈出視窗消失,您需要在彈出視窗中新增一個連結。這樣就可以了:
<a href="javascript:$.colorbox.close();">Close</a>
功能 2. 使用 is_page()
在特定頁面中包含額外的 CSS 和 JS 程式碼
您可能需要為特定頁面載入一些外部 JavaScript 或 CSS 檔案 - 例如您的「關於」頁面或產品的下載頁面。是的,您也可以將它們包含在您的內容中,但這不是一個好的做法。這是好的做法:
function extra_assets() { if(is_page(123)) { // '123' is the ID of the page we are checking for wp_enqueue_script('my-script', get_template_directory_uri().'/some/path/in/your/theme/folder/script.js'); wp_enqueue_style('my-style', get_template_directory_uri().'/some/path/in/your/theme/folder/style.css'); } } add_action('wp_head','extra_assets');
與第一個範例一樣,將其添加到您的 functions.php 檔案中就足夠了。 (不要忘記將“123
”號碼更改為您頁面的 ID!)
功能 3. in_category()
特殊類別貼文的「更多此類別」部分
這並不總是必要的,但您可能需要某個類別的「更多來自此類類別」部分(但不是其他類別)。假設您有一個「新聞」類別,而其他類別不適合我們要建立的部分。條件標籤 in_category()
將幫助我們:
function more_from_category($cat_ID) { if(in_category($cat_ID) { $posts = get_posts('numberposts=5&category='.$cat_ID); $output = '<h3 id="More-from-this-category">More from this category</h3>'; $output.= '<ul>'; foreach($posts as $post) { $output.= '<li><a href="'.get_permalink().'">'.get_the_title.'</a></li>'; } wp_reset_query(); $output.= '</ul>'; echo $output; } }
根據需要建立此函數並將其添加到您的 functions.php 檔案中。然後,轉到 single.php 並將程式碼 (<?php more_from_category(123); ?>
) 放置在您希望該部分出現的位置。您需要考慮的只是將程式碼放置在循環內。僅此而已!
功能 4. 使用 is_preview()
提醒自己(或您的作者)您仍在預覽頁面上
這不是必須的(畢竟,我們只是學習這些條件標籤的範例),但提醒您自己(或您的作者)顯示的頁面是「預覽」頁面可能是個好主意。將其新增至主題的 functions.php 檔案中:
function preview_warning() { if(is_preview()) { echo '<div id="preview-warning">Remember, you\'re still on the Preview page!<div>'; } } add_action('the_content','preview_warning');
當然,這還不夠 - 您需要編輯 style.css 來為警告文字提供形狀。像這樣的事情:
#preview-warning { background:#800; line-height:50px; font-size:30px; font-weight:bold; text-align:center; position:fixed; bottom:0; }
給你!
函數 5. 使用 is_404()
從 404 頁面中刪除某些元素
這是所有技巧中最簡單的一個。我認為它甚至不需要解釋 - 只需用下面的程式碼包裝那些“某些元素”(您不想在錯誤頁面上顯示的內容,例如廣告),然後您就可以開始了! p>
if(!is_404()) { // Here comes the "certain elements". It's that easy. Seriously. }
函數 6. 不再使用 has_excerpt()
顯示自動產生的摘錄
我只是討厭自動產生的摘錄。所以我刪除了它們——使用 Codex 中實際提供的程式碼:
function full_excerpt() { if (!has_excerpt()) { echo ''; } else { echo get_the_excerpt(); } }
將其新增至 functions.php 檔案中,然後您所要做的就是將 the_excerpt()
的實例變更為 full_excerpt()
。
函数 7. 使用 is_date()
仅列出基于日期的档案中的帖子标题(而不是完整帖子)
有时,在某些存档页面(例如基于日期的存档)上仅列出标题就足够了。因此,例如条件标签 is_date()
,我们将删除循环中除标题之外的内容。
这有点棘手,因为每个主题中的 archive.php 文件都不同。 (如果您的主题中有 date.php 文件,您应该编辑该文件。)在代码中查找 The Loop 并使用以下内容更改 The Loop 内的代码:
if(is_date()) { // If your theme uses h2 headings for post titles, use h2. If it uses h1, use h1. echo '<h2 id="the-title">'.the_title().'</h2>'; } else { // ... // The original code inside The Loop // ... }
功能 8. 使用 is_admin()
如果您喜欢使用 20 个打开的选项卡(全部用于您的博客),那么此技巧可能会非常方便。只需稍微编辑您的网站图标并将其另存为 adminfav.ico - 例如,我的管理面板网站图标只是我原始网站图标的红色版本。
无论如何,您可以这样做:
function admin_favicon() { if(is_admin()) { echo '<link rel="shortcut icon" href="'.get_bloginfo('url').'/adminfav.ico" />'; } } add_action('admin_head','admin_favicon');
函数9. 如果帖子没有,则显示默认缩略图 has_post_thumbnail()
这是一个好的主题必须具备的条件。如果您的主题中有任何显示特色图像缩略图的部分,您应该将 the_post_thumbnail()
函数替换为以下代码:
if(has_post_thumbnail()) { the_post_thumbnail(); } else { echo '<img class="default-thumb lazy" src="/static/imghwm/default1.png" data-src="'.get_template_directory_uri().'/images/default-thumb.jpg" .get_template_directory_uri().'/images/default-thumb.jpg" alt="'.get_the_title().'" />'; }
这样,您就可以保持主题外观的一致性。
功能10.使用is_user_logged_in()
为您的登录会员显示一个特殊菜单
如果您在 WordPress 中使用会员系统并拥有会员,您可能需要为您登录的会员创建一个特殊的菜单。方法如下:
function member_menu() { if(is_user_logged_in()) { echo '<div class="member-menu"><h2 id="Member-Menu">Member Menu</h2><ul><li><a href="#">First Menu Item</a></li><li><a href="#">Second Menu Item</a></li><li><a href="#">Third Menu Item</a></li></ul></div>'; } }
这是一个标准的“标题和列表”代码,您应该使用该代码使其像您的侧边栏 div
s 然后放置代码 <?php member_menu(); ?>
在主题的 sidebar.php 文件中。
此外,这只是一个示例,但理想情况下您可以在此处使用 WordPress 自定义菜单和 wp_nav_menu()
。一项标准和一项会员,然后您可以继续从 WordPress 管理仪表板管理它们。您可以在此处阅读有关 wp_nav_menu()
函数的更多信息。
还有其他想法吗?
这是我最喜欢的 10 个使用条件标签的想法。你的呢?如果您有任何要分享的内容,请在下面发表评论,以便我们可以扩展这篇文章并提供更多想法!
以上是釋放條件標籤的力量來增強您的博客的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Laravel使用其直觀的閃存方法簡化了處理臨時會話數據。這非常適合在您的應用程序中顯示簡短的消息,警報或通知。 默認情況下,數據僅針對後續請求: $請求 -

PHP客戶端URL(curl)擴展是開發人員的強大工具,可以與遠程服務器和REST API無縫交互。通過利用Libcurl(備受尊敬的多協議文件傳輸庫),PHP curl促進了有效的執行

PHP日誌記錄對於監視和調試Web應用程序以及捕獲關鍵事件,錯誤和運行時行為至關重要。它為系統性能提供了寶貴的見解,有助於識別問題並支持更快的故障排除

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显著减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想為客戶最緊迫的問題提供實時的即時解決方案? 實時聊天使您可以與客戶進行實時對話,並立即解決他們的問題。它允許您為您的自定義提供更快的服務

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。