Установить параметр для действия при добавлении - PullRequest
0 голосов
/ 22 октября 2018

У меня есть действие 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_action и do_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 для функции, которая выполняется в моем шаблоне где-то еще.

...