释放条件标签的力量来增强您的博客
条件标签是 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
”)放入主题的 mypopup
”)放入主题的 index.php 文件中,并将其隐藏在 style.css strong> 文件(带有“#mypopup {display:none;}
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');
文件中,然后就可以开始了!
注意:为了使弹出窗口消失,您需要在弹出窗口中添加一个链接。这样就可以了:
<a href="javascript:$.colorbox.close();">Close</a>
登录后复制
is_page()
功能 2.
使用 <a href="javascript:$.colorbox.close();">Close</a>
在特定页面中包含额外的 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');
123
functions.php
”号码更改为您页面的 ID!)
in_category()
功能 3.
特殊类别帖子的“更多此类别”部分
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;
}
}
<?php more_from_category(123); ?>
single.php
) 放置在您希望该部分出现的位置。您需要考虑的只是将代码放置在循环内。仅此而已!
is_preview()
功能 4.
使用 提醒您自己(或您的作者)您仍在预览页面上 这不是必须的(毕竟,我们只是学习这些条件标签的示例),但提醒您自己(或您的作者)显示的页面是“预览”页面可能是个好主意。将其添加到主题的
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');
来为警告文本提供形状。像这样的事情:
#preview-warning { background:#800; line-height:50px; font-size:30px; font-weight:bold; text-align:center; position:fixed; bottom:0; }
给你!
is_404()
函数 5.
使用 从 404 页面中删除某些元素
这是所有技巧中最简单的一个。我认为它甚至不需要解释 - 只需用下面的代码包装那些“某些元素”(您不想在错误页面上显示的内容,例如广告),然后就可以开始了! p>
if(!is_404()) {
// Here comes the "certain elements". It's that easy. Seriously.
}
登录后复制
has_excerpt()
函数 6.
不再使用 if(!is_404()) { // Here comes the "certain elements". It's that easy. Seriously. }
显示自动生成的摘录 我只是
讨厌自动生成的摘录。所以我删除了它们——使用 Codex 中实际提供的代码:
function full_excerpt() {
if (!has_excerpt()) {
echo '';
} else {
echo get_the_excerpt();
}
}
the_excerpt()
的实例更改为 full_excerpt()
functions.php
函数 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/imghw/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中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

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

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

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的实用应用和潜在的触摸

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、
