PHP通过短代码在WP帖子/页面中包含功能

时间:2019-05-03 12:33:38

标签: php wordpress

我的自定义wordpress插件目录/文件中有几个.html.php页面,这些页面基本上用于输出样式JSON / jQuery数据。

我想知道如何从本质上将这些模块包装成短代码,然后通过Wordpress所见即所得编辑器将这些短代码插入到我的Wordpress帖子或页面中。即[module 1]。我不想在主题文件中// functions.php中这样做,我想从插件文件中添加此功能,有什么想法吗?


因此,就像以wordpress短代码形式包含的php一样,它可以在Wordpress页面中使用。


这是我正在尝试的内容;在我的主要插件php文件中:


function my_form_shortcode() {
    include dirname( __FILE__ ) . 'https://absolute.path.com/wp-content/plugins/my-plugin-v4/assets/files/2019/results/index.php';
} 
add_shortcode( 'my_form_shortcode', 'my_form_shortcode' );

在我的Wordpress页面中,我执行:(尽管不会显示/工作)

[my_form_shortcode]

2 个答案:

答案 0 :(得分:0)

您可以以与主题相同的方式添加简码功能

add shortcode function in plugin

答案 1 :(得分:-1)

使用API​​的简码标记的最简单示例:[footag foo =“ bar”]

function footag_func( $atts ) {
    return "foo = {$atts['foo']}";
}
add_shortcode( 'footag', 'footag_func' );

具有默认属性的示例默认值:[bartag foo =“ bar”]

function bartag_func( $atts ) {
    $atts = shortcode_atts( array(
        'foo' => 'no foo',
        'baz' => 'default baz'
    ), $atts, 'bartag' );

    return "foo = {$atts['foo']}";
}
add_shortcode( 'bartag', 'bartag_func' );

带有封闭内容的示例:[baztag] content [/ baztag]

function baztag_func( $atts, $content = "" ) {
    return "content = $content";
}
add_shortcode( 'baztag', 'baztag_func' );

如果您的插件设计为类,请编写以下内容:

class MyPlugin {
    public static function baztag_func( $atts, $content = "" ) {
        return "content = $content";
    }
 }
 add_shortcode( 'baztag', array( 'MyPlugin', 'baztag_func' ) );