仅用于一页的 wordpress 简码

wordpress shortcode just for one page

我写了一个用于显示数据的短代码,它只在一页中使用(即:PAGEX 使用 full-width-page-template.php) .简码功能非常强大

function rj_mysh_shortcode() {
   // Lots of lines of business logic
}
add_shortcode('rj_mysh', 'rj_mysh_shortcode');

每次调用一个网页我认为functions.php被PHP调用和解析。我正在寻找解决方案,以避免花时间解析无用的东西。

我想我可以创建一个模板 TEMPLATE_PAGEX 并将函数移到那里。

TEMPLATE_PAGEX.php:
<?php
    function rj_mysh_shortcode_template() {
       // Lots of lines of business logic
    }

include(locate_template('full-width-page-template.php'));
?> 

最后的简码是:

function rj_mysh_shortcode() {
   return rj_mysh_shortcode_template()
}
add_shortcode('rj_mysh', 'rj_mysh_shortcode');

这是正确的解决方案吗?

Rr

您始终可以检查您所在的页面:developer.wordpress.org/reference/functions/is_page ... is_page($pageID) ... 如果在该页面上,则只有 运行 代码。

function rj_mysh_shortcode() {
    if(is_page($pageID)) {
      // Lots of lines of business logic
    }
}
add_shortcode('rj_mysh', 'rj_mysh_shortcode');

或者直接从 functions.php 中删除对 shortcode 和 运行 logic/code 等的需要,但进行相同的页面检查,因此它只会得到运行 在该特定页面上。