Woocommerce获取在存档页面

时间:2016-07-03 11:59:17

标签: php wordpress woocommerce

我正在尝试将所有产品展示在我商店的存档页面中。我想得到他们的ids。我正在使用我的钩子,它在wp_head上运行并检查

if(is_product_category())

我想以某种方式访问​​产品的查询并获取它们的ID。

if(is_product_category()) {
    $current_category = get_queried_object();
    $category_id = $current_category->term_id;
    $category_name = $current_category->name;

这是我到目前为止获得当前类别ID的代码

3 个答案:

答案 0 :(得分:0)

经过一些研究后,我找到了答案,这很简单,在这里,每个人都在为同样的问题奋斗。

function addListeners(arg){
    document.getElementById(arg+"Del").addEventListener("click",function(){

        ...some code...
    });
    document.getElementById(arg+"Edit").addEventListener("click",function(){
        ...some code...
    });
}
function confirmEditTask(initArg,arg){

    var scopeANG=angular.element(document.querySelector('[ng-controller="taskShower"]')).scope();
    for(i=0;i<scopeANG.tasks.length;i++){
        if(scopeANG.tasks[i].valueOf()===initArg.valueOf()){

            scopeANG.tasks[i]=arg;
            document.getElementById(initArg+"Del").id=arg+"Del";
            document.getElementById(initArg+"Edit").id=arg+"Edit";
            addListeners(arg);
            console.log(scopeANG.tasks);
            editTaskFlag=false;
            scopeANG.$apply();
            return;
        }
    }

    scopeANG.$apply();
}

有了这个,再次为当前页面调用woocommerce循环,以便我们可以获取我们想要的信息。 PS:我们是否必须在完成后重置查询?

答案 1 :(得分:0)

您可以点击此处获取woocommerce产品ID

http://www.remicorson.com/easily-find-woocommerce-products-id/

只需在插件文件夹中创建一个文件夹并将代码粘贴到那里,或者也可以将代码粘贴到theme function.php文件中。希望这会对你有所帮助。

答案 2 :(得分:0)

如果您在存档页面上,则主查询应包含帖子。最简单的方法是从$ wp_query全局中的“posts”属性中获取ID。有一个名为wp_list_pluck的实用程序函数,它从数组数组中获取每个索引,因此最终会得到一个ID数组。

global $wp_query;
$ids = wp_list_pluck( $wp_query->posts, "ID" );

请注意,虽然wp_list_pluck确实使用循环来遍历数组,但它比使用has_posts(),the_post()的WordPress循环样式更好。这是因为它没有移动$ wp_query和$ post全局变量之间的所有数据,也不必乱用重置查询。