短代码允许Wordpress插件作者以简洁的方式为其功能提供钩子。在2.5版中引入,短代码是接受可选属性的对象的定义。如果要实现短代码并需要有关底层功能的帮助,请使用此标记。
根据用户在 WooCommerce 中的总支出显示自定义文本
所以我想在 WooCommerce 上运行 Tier 程序,我需要根据网站上的总支出向用户显示 Tier 级别。 我正在使用如何获取用户(客户)在 WooCom 中花费的总金额...
我目前正在使用简码: [product_categories ids="135、214、244、1958、72、205、43、559、73、1033、69、2009、1365、1250、462、346、1649、1344、1379、1373" orderby="id" ] 显示
我制作了一个自定义小部件来显示一些软件工具的卡片(它通过 Elementor Controls 渲染它们并按类型、标签过滤它们......) 现在我正在制作分类术语的模板(Taxonomy...
实际上我正在使用一个短代码来进行时间倒计时,如下所示: // 倒计时短函数 函数 countdown_simple($atts) { // 提取“日期”属性并确保用户提供它 $
下面是 woocommerece-integration.php 文件中调用的现有函数,用于在任何 WordPress 页面上的产品卡中显示“添加到购物车”按钮。我有一个愿望清单插件,可以提供...
我正在使用一个名为:InPost Gallery 的插件。我已将短代码添加到我的页面模板中,以便我可以在每个页面上显示图库。目前短代码有 post_id="10" 我需要帖子 ID 来更改...
WordPress 短代码应返回按日期排序的 Instagram、YouTube 和 Twitch 帖子
我正在尝试制作一个短代码,将我的 Twitch、YouTube 和 Instagram 帖子全部集中到一个地方,并按发布日期对它们进行排序,但由于某种原因它不起作用。我会注释掉
我正在从我正在使用的旧 CMS 转换一些短代码信息。 在某些文章正文中,我需要从一些预先存在的标注中获取 ID {图像 id="27411" shape="landscape"align="rig...
我是 WP 插件开发的新手,发现我的短代码显示在页面顶部,但我想将其包含在帖子中的任何位置(而不是顶部)。 我的代码: 函数 getLotoSecond()...
如何显示管理员(wordpress)的所有问题[dwqa-list-questions]?
我正在使用 dwqa 插件。 [dwqa-list-questions] 只显示作者写的问题。 管理员只能看到管理员写的问题。 我需要向管理员展示所有问题。 你愿意吗...
修复了所有数字产品 WooCommerce 的短代码下载按钮
我正在使用 woocommerce 并拥有“虚拟”和“可下载”产品。我想创建一个短代码来显示这些产品的“下载”按钮。因为有...
在简短描述下方添加短代码并限制按 woocommerce 产品标签显示
我找到了一个代码,可以在 woocommerce 产品的简短描述下方添加短代码。但我希望它仅显示具有指定标签的产品。有什么办法可以做到这一点吗? 谢谢!
我需要创建一个短代码,根据产品所属的类别在 Woocommerce 产品上显示特定的 WordPress 菜单。类别和菜单都是通过 ID 来标识的,但我...
我在我的 WordPress 网站的页面中添加了一个短代码,我的短代码被正确调用: [我的函数] 我已在 function.php 中正确添加了我的函数: 函数 myfunction () {
如何检查正则表达式中的以下行? [专辑 album_id='41'] 除了我的 album_id 之外,所有内容都是静态的。这可能是 41 或其他。 在我的代码下面,我已经尝试过,但该代码不起作用: $str = "[一个...
WordPress 短代码添加 <br> 标签 – 我怎样才能防止这种情况?
我正在开发一个集成 PrismJS 的 WordPress 插件,用于代码的语法突出显示。该插件运行良好,但我遇到了 WordPress 自动向代码添加标签的问题......
我遇到的问题是分页(我通过短代码运行)没有按预期工作。在每个分页页面中,结果都是相同的。我发现了类似的问题
隐藏自定义短代码中具有空值的 WooCommerce 产品属性
我使用下面的代码通过短代码在自定义选项卡中显示一定数量的属性。这工作正常,但并非所有产品都具有相同的规格。我怎样才能隐藏那些...
在小部件中使用短代码时,在小部件内容之前和之后得到空段落标签。 在小部件中使用短代码时,在小部件内容之前和之后得到空段落标签。 <div class="widget"> <p></p> <div class="social-media"> <span></span> </div> <p></p> </div> 我用下面的代码创建了短代码 <?php function social_media_shortcode($atts){ $atts = shortcode_atts(array( 'class' => 'social-media', 'items' => 'facebook,twitter,insta,behance,google,linkedin,phone,mail,whatsapp', // Default items array ), $atts, 'social_media'); $itemsArray = explode(',', $atts['items']); ob_start(); ?> <div class="<?= esc_attr($atts['class']) ?>"> <span><?= social_groups($itemsArray) ?></span> </div> <?php $content = ob_get_clean(); return $content; } add_shortcode('social_media', 'social_media_shortcode'); 我需要一个钩子来修复或str_replace空的p标签 我发现 标签是由默认的古腾堡脆饼小部件添加的,通过创建自定义小部件并使用它添加短代码来解决这个问题 <?php // Register shortcode widget class Shortcode_Widget extends WP_Widget { public function __construct() { parent::__construct( 'shortcode_widget', __( 'Shortcode Widget', 'text_domain' ), array( 'description' => __( 'A widget that displays a shortcode.', 'text_domain' ), ) ); } public function widget( $args, $instance ) { $shortcode = ! empty( $instance['shortcode'] ) ? $instance['shortcode'] : ''; echo do_shortcode( $shortcode ); } public function form( $instance ) { $shortcode = ! empty( $instance['shortcode'] ) ? $instance['shortcode'] : ''; ?> <p> <label for="<?php echo $this->get_field_id( 'shortcode' ); ?>"><?php _e( 'Shortcode:' ); ?></label> <input class="widefat" id="<?php echo $this->get_field_id( 'shortcode' ); ?>" name="<?php echo $this->get_field_name( 'shortcode' ); ?>" type="text" value="<?php echo esc_attr( $shortcode ); ?>" /> </p> <?php } public function update( $new_instance, $old_instance ) { $instance = array(); $instance['shortcode'] = ! empty( $new_instance['shortcode'] ) ? $new_instance['shortcode'] : ''; return $instance; } } function register_shortcode_widget() { register_widget( 'Shortcode_Widget' ); } add_action( 'widgets_init', 'register_shortcode_widget' );
如果短代码占位符内部或外部,则将空格替换为 <br />,而不添加到字符串的开头或结尾
我有这样的事情: [短代码]文本[/短代码] [短代码_2]文本[/短代码_2][按钮][短代码_3]文本[/短代码_3][图像]文本 我该如何 preg_replace (或 str_replace) 我有这样的东西: [shortcode] text [/shortcode] [shortcode_2] text [/shortcode_2][button] [shortcode_3] text [/shortcode_3] [image] text 如何在每个之间插入 preg_replace (或 str_replace)以便 <br /> '][' 或 '] [' 编辑: 为了让事情尽可能清楚...... 输入: [shortcode] text [/shortcode] [shortcode_2] text [/shortcode_2][button] [shortcode_3] text [/shortcode_3] [image] text 输出: [shortcode]<br />text<br />[/shortcode]<br />[shortcode_2]<br />text<br />[/shortcode_2]<br />[button]<br />[shortcode_3]<br />text<br />[/shortcode_3]<br />[image]<br />text 使用 preg_replace_callback $r = preg_replace_callback('/\]([^\]]+)?(\[)|([^\]]+$)/', function($matches) { var_dump($matches); if (!strlen($matches[1])) { return ""; } else if (!isset($matches[1]) || !strlen(trim($matches[1]))) { return "]<br />["; } else { return "]<br />" . trim($matches[1]) . "<br />["; } }, '[shortcode] text [/shortcode] [shortcode_2] text [/shortcode_2][button] [shortcode_3] text [/shortcode_3] [image] text'); 匹配整个占位符(使用 \K 释放它),后跟零个或多个空格(除非在字符串末尾)或 在整个占位符之前匹配零个或多个空格(除非在字符串的开头),后跟整个占位符。 preg_replace_callback() 不需要。 代码:(演示) $string = '[shortcode] text [/shortcode] [shortcode_2] text [/shortcode_2][button] [shortcode_3] text [/shortcode_3] [image] text'; echo preg_replace('#\[[^\]]+]\K *(?!$)|(?!^)(?: +|(?<! ))(?=\[[^\]]+])#', '<br />', $string); 输出: [shortcode]<br />text<br />[/shortcode]<br />[shortcode_2]<br />text<br />[/shortcode_2]<br />[button]<br />[shortcode_3]<br />text<br />[/shortcode_3]<br />[image]<br />text