添加时设置动作参数

时间:2018-10-22 02:47:21

标签: php wordpress wordpress-shortcode

调用短代码时,我正在设置一个Wordpress操作。然后,该动作在我的模板文件中完成。这允许用户使用简码将简单的简码添加到“边栏”或“内容后”部分中。

function add_sidebar_form($atts){
    $order = isset($atts['order']) ? $atts['order'] : 99; 

    add_action( 'fc_content_sidebar',  'fc_user_form', $order);
}
function fc_user_form(){
    echo "<div>This shows up in the sidebar</div>";
}
add_shortcode( 'add_user_form', 'add_sidebar_form' );

这一切都很好,除非我有一个可以使用变量的内容。我可以为简码设置它,这很有意义。但是我还不是最傻的如何把它付诸行动。文档仅显示在do_action函数中传递的参数,因此也许这本质上不是该操作。社区可能对add_actiondo_action函数之间的相互作用有更好的了解。

function add_sidebar_product($atts){
    $order = isset($atts['order']) ? $atts['order'] : 99; 
    //$atts contains an 'id' property that corresponds to a 
    //product that needs to be passed along to fc_sidebar_product
    add_action( 'fc_content_sidebar',  'fc_sidebar_product', $order);
}
function fc_sidebar_product($id){
    //get the product by $id
}

OP注意:不需要需要知道如何在默认侧边栏空间中显示产品。这只是一个示例用例。我需要专门了解如何从CMS页面的短代码中获取参数,以获取在其他地方的模板中执行的函数。

0 个答案:

没有答案