快速提示:将Colorbox集成到原生Shortcode中

2023年 9月 2日 64.4k 0

原生 [图库] 短代码很好,但不是很好。在这个快速技巧中,我们将使用 jQuery 来美化它。

[图库] 短代码不是很好。你不能禁用它的默认 CSS,你不能添加或编辑 CSS 类,你不能编辑默认属性(这实际上是一个普遍的短代码问题)......虽然这些东西不会打扰大多数人WordPress 开发者,像我这样的怪人可能会抱怨! 🙂

在这个快速技巧中,我们将摆脱图像附件页面,并让我们网站的访问者在 jQuery 模式框中浏览图像。

最好的 jQuery Lightbox 插件之一:ColorBox

Colorbox 小于 5KB(压缩后)并支持广泛的浏览器(甚至包括 IE6),是我最喜欢的 jQuery lightbox 插件。

快速提示:将Colorbox集成到原生Shortcode中

正如您从插件页面中看到的,它具有大量设置、方法和挂钩,因此您可以按照您想要的方式自定义它。它还具有 5 个简洁的基于 CSS 的主题。

下载该包并将 colorbox.min.js 和 5 个主题之一(colorbox.css 文件和“images”文件夹)提取到名为“colorbox”的文件夹中,然后将该文件夹上传到您的 WordPress主题。上传前在colorbox.min.js文件末尾添加以下代码:

jQuery(document).ready(function($) {
$(".gallery-icon a").colorbox({rel:"gallery"});
});

登录后复制

Shortcode-Ception:构建使用另一个短代码的短代码

我知道这会有点奇怪,但这似乎是最干净的方式。我们将创建 [jgallery] 短代码。

快速提示中的提示:如果您打算在创建 [jgallery] 短代码后更改帖子中的所有图库短代码,我建议使用搜索正则表达式插件来搜索/替换

[jgallery].

像往常一样,我们将从创建基本的短代码函数开始:

function jgallery_sc() {
// No parameters? This is madness!
}
add_shortcode('jgallery','jgallery_sc');

登录后复制

接下来,我们将 CSS 和 JS 文件入队。不要忘记,通过指定 Colorbox 脚本依赖,jQuery 将自动入队(如果尚未入队)。

function jgallery_sc() {
// Enqueue colorbox.min.js (and jQuery if it is not already loaded)
wp_enqueue_script('colorbox-js', get_template_directory_uri().'/colorbox/colorbox.min.js',array('jquery'));
// Enqueue colorbox.css
wp_enqueue_style('colorbox-css', get_template_directory_uri().'/colorbox/colorbox.css');
}
add_shortcode('jgallery','jgallery_sc');

登录后复制

一切都准备好了,除了我们需要在这个函数中使用

短代码。我们将使用 do_shortcode() 函数并返回 短代码:

function jgallery_sc() {
wp_enqueue_script('colorbox-js', get_template_directory_uri().'/colorbox/colorbox.min.js',array('jquery'));
wp_enqueue_style('colorbox-css', get_template_directory_uri().'/colorbox/colorbox.css');
return do_shortcode('

');
}
add_shortcode('jgallery','jgallery_sc');

登录后复制

全部完成!将此函数添加到主题的 functions.php 文件中后,您可以立即开始使用 [jgallery] 短代码。请在下面的评论中告诉我们您的想法。享受! 🙂

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论