参数化的短代码

时间:2015-03-03 16:21:22

标签: php wordpress

我绝不是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 =&#39; testfile&#39;] 。虽然外部testfile.php包含在内容中,但我所追求的是一种定位参数的方式。

例如,如果页面包含4个图像,我可以在参数中指定我想要显示的数量。然后编辑器可以添加以下代码 [phpinclude file =&#39; testfile&#39;图像= 2] 即可。然后,这将只显示2个图像,而不是默认的4个图像。

有没有人知道使用上面显示的代码执行此操作的方法还是指向正确的方向?

1 个答案:

答案 0 :(得分:1)

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

<?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文件的代码,该文件可以相应地对其进行操作。