在本系列的上一章中,我们开始学习了大约 50 个过滤器钩子,在数百个过滤器中,我们每章学习了大约 10 个。
在本教程中,我们将分别说明每个过滤器挂钩的用法。
让我们开始吧。
在
中处理可翻译数据
中最酷的功能
是几乎所有文本内容都可以翻译成任何语言。当然,如果你的网站语言是英文,你可能没有这个要求;但不能保证每个人都会使用英文网站。
这个过滤器允许你以不同的方式做到这一点,让我们看一个例子:
示例:更正开发人员的语法错误
比如你找到一个很棒的插件英文垃圾站的利器几款wordpress自动采集插件,但是你发现这个插件的开发者英语水平很差,而且代码中有很多错误的文本代码。幸运的是,所有这些字符串都是可重新翻译的,而且这个过滤钩子是可用的:
优化标题网址别名
将使用一个名为()的函数来优化标题:自动将空格替换为“-”并保存为url别名。这个函数可以用过滤钩子扩展。
示例:删除标题网址别名中的“the”字样
如果您不希望“the”一词出现在 url 别名中,可以使用以下代码将其删除。
$title = str_replace( '-the-', '-', $title );
$title = preg_replace( '/^the-/', '', $title );
return $title;
}
?>
简单而完美的解决方案。
排除短代码
这个方便的过滤器允许您通过 () 函数指定不应该运行哪些短代码(),详情请参阅官方文档。
示例:排除短代码
如果您想排除某个短代码,可以将短代码的名称添加到“不要”列表中wordpress网站建设,参见以下代码:
p>
过滤评论的审批状态
有一种算法可以在将评论添加到待审核或已批准列表之前确定是否应将其归类为垃圾邮件。有了这个过滤器钩子,上面的定性标准可以稍微改变。
示例:将带有长用户名的评论标记为垃圾邮件
在土耳其英文垃圾站的利器几款wordpress自动采集插件,垃圾评论通常使用长用户名,有时还使用长 URL。
使用下面的代码自动清理带有长名称的垃圾评论,例如“和低(点击这里查看更多)”。
return ( strlen( $commentdata['comment_author'] ) > 75 ) ? 'spam' : $approved;
}
// Example source: https://gist.github.com/norcross/5468979
?>
感谢您的想法!
特别提示:如果要通过检测评论url是否超过一定长度来判断是否为垃圾评论,只需将''修改为''即可。
配置“通过电子邮件发送文章”功能
您知道您可以通过电子邮件发表文章吗?提供这个很少用到的功能,就是过滤钩子。
示例:启用或禁用“通过电子邮件发送文章”功能
在某些情况下(比如安全考虑)你可能想禁用这个功能,只要下面这行代码就可以解决。
或者如果你想在多站点中启用它(这个功能在多站点默认是禁用的)wordpress网站制作,你可以使用()函数:
过滤页面标题
页面标题是通过()函数输出的,也就是你在浏览器标签栏上看到的那个。函数允许我们自定义这个标题。
示例:重写页面标题(正确的方式)
Tom在他的博客中解释了如何自定义页面标题,详情请查看原文,这里是一个例子:
if ( is_feed() )
return $title;
// Add the site name.
$title .= get_bloginfo( 'name' );
// Add the site description for the home/front page.
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) )
$title = "$title $sep $site_description";
// Add a page number if necessary.
if ( $paged >= 2 || $page >= 2 )
$title = sprintf( __( 'Page %s', 'tuts_filter_example' ), max( $paged, $page ) ) . " $sep $title";
return $title;
}
// Example source: http://tommcfarlin.com/filter-wp-title/
?>
在将评论保存到数据库之前对其进行处理
如果您在保存到数据库之前需要评论数据(评论 id)、评论者姓名、电子邮件地址、URL 等),那么过滤器挂钩可以帮助您。
示例:将注释从大写转换为小写
您是否遇到过很多每个单词都大写的评论?如果是这样,您可以使用以下代码将其自动转换为小写。
// Example source: http://codex.wordpress.org/Plugin_API/Filter_Reference/preprocess_comment
?>
登录后管理重定向地址
此过滤器允许用户在登录后台后自定义重定向地址(不在管理面板的设置中),这在某些情况下很有用。
示例:将订阅者重定向到网站主页
如果您不希望用户(订阅者角色)在登录后看到管理控制面板,您可以将页面重定向到网站主页。
roles ) && is_array( $user->roles ) ) {
if ( in_array( 'subscriber', $user->roles ) ) {
return home_url();
} else {
return $redirect_to;
}
}
return;
}
?>
官方文档提醒我们,函数必须在()外使用,因为调用过滤钩子时该函数无效。
为插件创建一个操作链接
如果您正在开发插件,那么您可能想知道其他开发人员如何将设置链接添加到插件页面,他们使用的是以下过滤器挂钩。
示例:向插件页面添加设置链接
要在插件页面添加设置链接,可以使用以下函数并将其挂载到过滤器挂钩。
function plugin_action_links_example( $links ) {
$links[] = '' . __( 'Settings' ) . '';
return $links;
}
// Example source: https://codex.wordpress.org/Plugin_API/Filter_Reference/plugin_action_links_(plugin_file_name)
?>
请注意,我们在这里使用插件的名称来挂载函数和过滤器。
在文章编辑器中过滤内容
有没有想过在后台在编辑器里写文章的时候预填一些内容,或者需要给作者一些提醒,那么就可以使用 hooks了。
示例:给文章作者的提示
让我们看看如何给作者打赏:如果你想给博主更多的打赏,你可以在编辑器中这样做使用以下代码:
Come up with good tags for the post,Set the publish time to 08:00 tomorrow morning,Change the slug to a SEO-friendly slug,And delete this text, hehe.' . "\n\n";
$template .= 'Bye!';
return $template;
} else
return $content;
}
// Example source: http://wpfilte.rs/the_editor_content/
?>
为变量 $ 分配你想要的任何字符串。
第二部分结束语
在这篇文章中,我们已经完成了第二部分10个过滤钩子的学习,希望大家喜欢并且可以学习到新的知识,请留下您的建议,当然也不要忘记分享您的文章想和你的朋友相处融洽,我们下个教程见。
原文来自:–cms-21296
大学原创译文,未经许可禁止转载和使用。
免责声明:除非另有说明或标记,否则本网站上的所有文章均最初发布在本网站上。任何个人或组织未经本站同意,不得将本站内容复制、盗用、收集、发布到任何网站、图书等媒体平台。如果本站内容侵犯原作者合法权益,您可以联系我们处理。
文章来自互联网,侵权请联系删除,文章阐述观点来自文章出处,并不代表本站观点。
www.8001717.cn