我想在自定义php文件中为每个产品运行一个函数

时间:2016-12-10 09:41:33

标签: wordpress woocommerce

我想在wordpress的自定义php文件中为每个产品运行一个函数。我使用了foreach循环。但不幸的是,id并没有奏效。需要帮助。

代码是:

<?php
require_once("../../../../wp-load.php");
global $product;

foreach($product as $offer){
update_views_meta($offer->id);
}
?>

当我将特定产品ID放在$ offer-&gt; id的位置时,函数会运行。但是无法在此文件中获取$ product-&gt; id。

2 个答案:

答案 0 :(得分:0)

使用以下代码

创建辅助循环并从数据库获取所有产品
    $args = array(
        'post_type' => 'product',
        'paged' => $paged,
    );
    $wp_query = new WP_Query($args);
    print_r($wp_query);

说明

post_type=>product表示你想要db的产品。它将所有产品作为post array.all产品的形式返回,你必须根据需要修改它。那就是它。

答案 1 :(得分:0)

这对我有用......

<?php
$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] );
require_once( $parse_uri[0] . 'wp-load.php' );
$args = array(
        'post_type' => 'product',
        'paged' => $paged,
    );
    $wp_query = new WP_Query($args);
$post_ids = wp_list_pluck( $wp_query->posts, 'ID' );
foreach ($post_ids as $offer) {
    your_function($offer);
}
?>