参数化的短代码


Parameterized shortcodes

我绝不是PHP大师,我被赋予了更新WordPress网站的任务。我已经设法让我的php includer插件工作起来,这样我就可以在内容区域内使用一个短代码,编辑器可以引用一个独立的文件,然后将其注入主页。

我使用的代码是:

<?php
function PHP_Include($params - array()) {
extract(shortcode_atts(array(
'file' => 'default'
), $params));
ob_start();
include(get_stylesheet_directory() . "/inc/$file.php");
return ob_get_clean();
}
add_shortcode('phpinclude', 'PHP_Include');
?>

我已经将其保存为一个插件,然后在博客文章的内容中使用[phpinclude file='testfile']。虽然外部testfile.php包含在内容中,但我想要的是一种针对参数的方法。

例如,如果页面包含4个图像,我可以在参数中指定要显示的图像数量。编辑器可以添加以下代码[phpinclude-file='testfile'images=2]。这将仅显示2个图像,而不是默认的4个图像。

有人知道用我上面展示的代码做这件事的方法吗?或者给我指明正确的方向吗?

如果您只是将该参数添加到您的短代码中:

<?php
function PHP_Include($params - array()) {
    extract(shortcode_atts(array(
        'file' => 'default',
        'images' => 4
    ), $params));
    ob_start();
    include(get_stylesheet_directory() . "/inc/$file.php");
    return ob_get_clean();
    }
    add_shortcode('phpinclude', 'PHP_Include');
    ?>

然后,包含要显示的图像数量的$images变量可用于所包含的PHP文件的代码,该代码可以相应地对其进行操作。