使用woocommerce wordpress调用function.php中的自定义函数
我试图在wordpress中的PostSubmit按钮上调用function.php中的自定义函数。 下面,当我删除它时,你可以看到if语句,函数调用工作正常,但如果使用if语句,当我在post时,它不工作,我在if语句中找到了它,但无法调用函数使用woocommerce wordpress调用function.php中的自定义函数,wordpress,woocommerce,Wordpress,Woocommerce,我试图在wordpress中的PostSubmit按钮上调用function.php中的自定义函数。 下面,当我删除它时,你可以看到if语句,函数调用工作正常,但如果使用if语句,当我在post时,它不工作,我在if语句中找到了它,但无法调用函数 if (isset($_POST['addcustomcarts'])) { echo("if"); add_filter('woocommerce_before_cart', 'customcart'); /
if (isset($_POST['addcustomcarts']))
{
echo("if");
add_filter('woocommerce_before_cart', 'customcart');
//global $woocommerce;
function customcart() {
global $woocommerce;
$my_post = array(
'post_title' => 'My post',
'post_content' => 'This is my post.',
'post_status' => 'publish',
'post_author' => 1,
'post_type' =>'product'
);
echo"sdafsdf";
// Insert the post into the database
$product_ID=wp_insert_post( $my_post );
add_post_meta($product_ID, '_regular_price', 100, $unique);
add_post_meta($product_ID, '_price', 100, $unique);
add_post_meta($product_ID, '_stock_status', 'instock', $unique);
$woocommerce->cart->add_to_cart( $product_ID, $quantity=1 );
//exit;
//header("Location: http://www.mydomain.com");exit();
wp_redirect(".home_url('cart').");
//wp_redirect(home_url());
//global $wpdb;
//$wpdb->query
//exit;
//exit;
}
}
您需要从if语句中删除整个函数,并且只调用操作。像这样:
if (isset($_POST['addcustomcarts']))
{
echo("if");
add_filter('woocommerce_before_cart', 'customcart');
//global $woocommerce;
}
function customcart() {
global $woocommerce;
$my_post = array(
'post_title' => 'My post',
'post_content' => 'This is my post.',
'post_status' => 'publish',
'post_author' => 1,
'post_type' =>'product'
);
echo"sdafsdf";
// Insert the post into the database
$product_ID=wp_insert_post( $my_post );
add_post_meta($product_ID, '_regular_price', 100, $unique);
add_post_meta($product_ID, '_price', 100, $unique);
add_post_meta($product_ID, '_stock_status', 'instock', $unique);
$woocommerce->cart->add_to_cart( $product_ID, $quantity=1 );
//exit;
//header("Location: http://www.mydomain.com");exit();
wp_redirect(".home_url('cart').");
//wp_redirect(home_url());
//global $wpdb;
//$wpdb->query
//exit;
//exit;
}
我已经用
add_action('init','customcart')解决了这个问题
而不是添加_过滤器('woocommerce_在_购物车之前,'customcart')代码>
尝试将customcart()
frunction定义移出if
块,看看会发生什么。它在if块中工作,但我想在一个事件上调用函数,这就是我需要if块的原因@geomagasIt没什么区别,是吗?
add_action('init', 'customcart');
function customcart() {
if (isset($_POST["addcustomcarts"])) {
global $woocommerce;
$my_post = array(
'post_title' => 'My post',
'post_content' => 'This is my post.',
'post_status' => 'publish',
'post_author' => 1,
'post_type' =>'product'
);
// Insert the post into the database
$product_ID = wp_insert_post( $my_post );
if ( $product_ID ){
add_post_meta($product_ID, '_regular_price', 100 );
add_post_meta($product_ID, '_price', 100 );
add_post_meta($product_ID, '_stock_status', 'instock' );
//Getting error on this line.
$woocommerce->cart->add_to_cart( $product_ID, $quantity=1 );
exit( wp_redirect( get_permalink( woocommerce_get_page_id( 'cart' ) ) ) );
}
}
}