我想在 Wp/Woocommerce /shop/ 页面上显示所有产品及其变体。(/woocommerce/archive-product.php)。我在下面描述的过程是我尝试让它发挥作用的过程。欢迎使用替代方案。
标准是什么:产品 A 和产品 B 在网站上显示。产品 A 有“广告到购物车”按钮。产品 B 有“选择选项”按钮。
我想要的:产品 A 是“简单”产品,在商店页面上显示 产品 B 是“可变”产品,有 2 种组合(黑色/蓝色)。添加到购物车按钮将此变体添加到购物车
我想在商店页面上显示 3 个产品,相当于 1* 产品 A 和 2* 产品 B。
到目前为止,我已经提取了产品是否可变的一些有关该产品变体的基本细节,但我似乎找不到缩略图?
$postId = get_the_ID();
$args = array(
'post_type' => 'product_variation',
'post_status' => array( 'private', 'publish' ),
'numberposts' => -1,
'orderby' => 'menu_order',
'order' => 'asc',
'post_parent' => $postId
);
$variations = get_posts( $args );
//var_dump($variations);
//$p = get_post_meta($postId, '_product_attributes', true); // return pa_flavor
//var_dump($p);
if(!empty($variations)) {
foreach …Run Code Online (Sandbox Code Playgroud) 如何通过Zend Pagintor检索使用count()找到的项目总数,而不是页数?目前的测试得出的近似值是最接近的,而不需要操作DBSelect计数方法:
$totalCount = $pagintor->count() * $paginator->getItemCountPerPage();
Run Code Online (Sandbox Code Playgroud)
我的问题与paginator用于获取记录总数的count()过程有关.
我已经看到了这个:Zend Framework 2 - 分页 并阅读这些文档 http://framework.zend.com/manual/current/en/modules/zend.paginator.advanced.html
http://framework.zend.com/manual/current/en/modules/zend.paginator.usage.html
我们是否要为分页对象自定义count()方法以获取最后一个链接的计数?
class MyDbSelect extends Zend\Paginator\Adapter\DbSelect
{
public function count()
{
$select = new Zend\Db\Sql\Select();
$select->from('item_counts')->columns(array('c'=>'post_count'));
$statement = $this->sql->prepareStatementForSqlObject($select);
$result = $statement->execute();
$row = $result->current();
$this->rowCount = $row['c'];
return $this->rowCount;
}
}
$adapter = new MyDbSelect($query, $adapter);
$paginator = new Zend\Paginator\Paginator($adapter);
Run Code Online (Sandbox Code Playgroud)
也许我错过了一些东西(可能是真的......)但是由于分页对象已经编写了"计数"的麻烦,为什么/如何在不做任何其他障碍或障碍课程的情况下访问这个号码...是有一个$ paginator-> getTotalCount()方法来访问这个变量......
最终的结果可能是'总共4536的记录',其中4536总数.
提前谢谢了.
ENV:ZF 2.3.9(不是2.4+)