【发布时间】:2014-09-13 17:43:11
【问题描述】:
我正在尝试按作者列出 woocommerce 产品。 我按照以下步骤操作:
在theme/functions.php输入此代码
add_action('init', 'wpse_74054_add_author_woocommerce', 999 );
function wpse_74054_add_author_woocommerce() {
add_post_type_support( 'product', 'author' );
}
这让我可以在编辑产品选项卡上为每个产品分配一个作者。
我还可以使用此代码显示产品标题、作者和描述:
<?php $loop = new WP_Query( array ( 'post_type' => 'product', 'posts_per_page' => 10 ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php the_title( '<h2 class="entry-title"><a href="' . get_permalink() . '" title="' . the_title_attribute( 'echo=0' ) . '" rel="bookmark">', '</a></h2>' ); ?>
<span class="postauthortop author vcard">
<i class="icon-user"></i> <?php echo __('by', 'virtue');?> <a href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>" rel="author"><?php echo get_the_author() ?></a>
<div class="short_description">
<?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?>
</div>
<?php endwhile; ?>
但是,当人们点击作者姓名时,只会显示常规帖子。不是产品。
我想创建一个作者页面,人们可以在其中查看单个作者的产品列表。
我尝试使用以下代码创建 author.php 文件,但没有成功。
<?php $author_id = the_author_meta('ID'); ?>
<?php $args = array( $author_id => 'author' , 'post_type' => 'product' ); ?>
<?php $author_posts = get_posts ( $args ); ?>
<?php while( $author_posts->have_posts() ) : $author_posts->the_post(); ?>
<?php the_title( '<h2 class="entry-title"><a href="' . get_permalink() . '" title="' . the_title_attribute( 'echo=0' ) . '" rel="bookmark">', '</a></h2>' ); ?>
<?php wp_reset_postdata(); ?>
<?php endwhile; ?
如果有人知道编写此代码,请帮助我。请具体说明,因为我不熟悉编码。
提前致谢。
【问题讨论】:
-
好吧,我在书店 woo 网站上做了类似的事情,尽管您尝试做的事情很复杂,但我只使用了一个名为 Authors 的属性,并且我将所有作者的姓名作为该分类法的术语(作者) .因此,只需将作者添加到产品中即可。 Rest 与仅循环特定作者的产品非常相似,例如类别或属性(分类法)。您可以按属性添加 woo 过滤器导航,单击作者将显示所有属于他的产品。实际上,您可以从管理员处完成所有这些操作,而无需触摸主题上的任何单个文件。我当然认为:)
标签: wordpress post woocommerce author