【问题标题】:Creating a shortcode from a backend page从后端页面创建简码
【发布时间】:2017-09-20 14:56:01
【问题描述】:

我正在尝试从当前位于后端的页面创建简码。该页面有几个 acf 字段作为创建请求的表单的一部分。我现在想在前端有相同的页面。在阅读了关于 shortocdes、它的 api 和 doc 以及几个不同的 tuts 在线后,我尝试遵循从函数创建简码的语法。

add_shortcode('create_requests', array($this, 'load_custom_wp_admin_style'));

^ 上面的尝试不起作用,当我在新页面中包含短代码时,我没有得到任何输出。

您会注意到我尝试使用的函数“load_custom_wp_admin_style”返回一个空值并使用了钩子。

This 是包含函数的文件。

【问题讨论】:

    标签: php wordpress shortcode wp-admin


    【解决方案1】:

    尝试包含如下代码的文件。我根据我检查了您的文件,您需要使用插件 url 似乎您正在开发插件

    wp_register_style('your_namespace', plugins_url('style.css',__FILE__ ));
    wp_enqueue_style('your_namespace');
    wp_register_script( 'your_namespace', plugins_url('your_script.js',__FILE__ ));
    wp_enqueue_script('your_namespace');
    

    【讨论】:

    • 我认为这不是问题所在。该页面在后端的 wp-admin 中运行良好。我没有完成的是创建一个短代码并将其包含在一个新的 wordpress 页面中。
    【解决方案2】:

    假设你要在前端显示的页面是一个普通的WordPress页面——在pages标签中创建,post类型的页面。

    您可以非常简单地使用以下 PHP 代码将其包含在模板中:

    <?php
    $page = get_post(192994);
    echo $page->post_content;
    ?>
    

    如果它需要是一个短代码,你可以将它添加到你的functions.php中:

    function output_page_function($atts) {
        $page_id = $atts['page_id'];
    
        if (!$page_id) return false;
    
        $page = get_post($page_id);
    
        return $page->post_content;
    }
    add_shortcode('output_page', 'output_page_function');
    

    并在需要的地方包含一个短代码(带有'page_id'属性)

    [output_page page_id=192994]
    

    如果它不是一个 WordPress 页面,而是一个实际的 wp-admin 屏幕,那么这将更加困难/不可能。

    【讨论】:

    • 这是一个 wp-admin 屏幕,其中包含一个包含多个 acf 字段和一个提交按钮的表单。
    猜你喜欢
    • 2017-02-14
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    相关资源
    最近更新 更多