Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按自定义列中的可单击值筛选产品_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 按自定义列中的可单击值筛选产品

Php 按自定义列中的可单击值筛选产品,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我们添加了一个新列来显示每个产品的author=>storename。() 我能自己回答上面提到的问题。但现在我们遇到了一个新问题。所需信息现在位于新列中,但我们无法单击它。我们希望新栏目中的条目可以点击,以便对该作者的所有产品进行过滤。所以这是一个关于如何制作一个可点击的链接以显示该作者的所有其他产品的问题 这是我们的代码: add_filter( 'manage_edit-product_columns', 'custom_admin_products_store_name_column',

我们添加了一个新列来显示每个产品的author=>storename。()

我能自己回答上面提到的问题。但现在我们遇到了一个新问题。所需信息现在位于新列中,但我们无法单击它。我们希望新栏目中的条目可以点击,以便对该作者的所有产品进行过滤。所以这是一个关于如何制作一个可点击的链接以显示该作者的所有其他产品的问题

这是我们的代码:

add_filter( 'manage_edit-product_columns', 'custom_admin_products_store_name_column', 9999 );
 
function custom_admin_products_store_name_column( $columns ){
   $columns['vendor_store_name'] = __( 'Vendor'); 
   return $columns;
}
 
add_action( 'manage_product_posts_custom_column', 'custom_admin_products_store_name_column_content', 10, 2 );
 
function custom_admin_products_store_name_column_content( $column, $product_id ){

    $seller = get_post_field( 'post_author', $product_id);
    $store_info = dokan_get_store_info( $seller );
    $store_name = $store_info['store_name'];

    if ( $column == 'vendor_store_name' ) {
        echo __($store_name);
        
    }
}
我已经尝试过从这里获取信息:


但这更多的是针对一个新的过滤器,而不是将应用过滤器的列中的可单击值。

我能够让它工作起来!:)

这是我的密码。这是一个合适的解决方案,或者我可以在哪里改进它?:)

唐尔克斯

add_filter( 'manage_edit-product_columns', 'custom_admin_products_store_name_column', 9999 );
 
function custom_admin_products_store_name_column( $columns ){
   $columns['vendor_store_name'] = __( 'Vendor'); 
   return $columns;
}
 
add_action( 'manage_product_posts_custom_column', 'custom_admin_products_store_name_column_content', 10, 2 );
 
function custom_admin_products_store_name_column_content( $column, $product_id ){

    $seller = get_post_field( 'post_author', $product_id);
    $store_info = dokan_get_store_info( $seller );
    $store_name = $store_info['store_name'];
    
$vendor_products = get_admin_url() . 'edit.php?post_type=product&author=' . $seller;

if ( $column == 'vendor_store_name' ) {
        printf('<a href="%s">%s</a>', $vendor_products, $store_name);       
}
    

}
add_filter('manage_edit-product_columns','custom_admin_products_store_name_column',9999);
函数自定义\管理\产品\存储\名称\列($columns){
$columns['vendor\u store\u name']=\u('vendor');
返回$columns;
}
添加操作('manage_product_posts_custom_column'、'custom_admin_products_store_name_column_content',10,2);
函数自定义\管理\产品\存储\名称\列\内容($column,$product\u id){
$seller=get\u post\u字段('post\u author',$product\u id);
$store\u info=dokan\u get\u store\u info($seller);
$store_name=$store_info['store_name'];
$vendor\u products=get\u admin\u url().'edit.php?post\u type=product&author='。$seller;
如果($column=='vendor\u store\u name'){
printf(“”,$vendor\u products,$store\u name);
}
}

“但这更多的是用于新过滤器,而不是用于应用过滤器的列中的可单击值。”-应用过滤器的部分应该仍然大致相同。只有第一部分不同-它使用在一个位置设置的
select
字段,将要筛选的值作为GET参数传递-您希望使用单个链接来执行此操作。因此,创建这些链接,并让它们包含必要的GET参数。过滤器的链接应该是/wp admin/edit.php?post_type=product&author=最后我需要ID。我现在就试试看!)