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