我写了一个用于显示数据的短代码,它只在一个页面中使用(即:PAGEX使用全宽页面模板.php(。简码功能非常庞大。
function rj_mysh_shortcode() {
// Lots of lines of business logic
}
add_shortcode('rj_mysh', 'rj_mysh_shortcode');
每次调用网页时,我认为函数.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');
或者只是删除对shortcode
的需求,只需直接从functions.php
运行逻辑/代码等,但执行相同的页面检查,使其仅在该特定页面上运行。