【问题标题】:Woocommerce product subtitle is misplacedWoocommerce 产品副标题放错了位置
【发布时间】:2016-03-22 17:14:03
【问题描述】:

大家好,我希望你们能帮助我。 我用 ACF 为我的产品创建了 2 个字幕(subtitle 和 subtitle_2) 我希望它们出现在我的产品页面和我的主页/商店(在产品“小盒子”中)的产品标题下方(呃!!)。

到目前为止,通过编辑我的 single-product.php 文件,我设法让它们出现在产品页面上,但它们不在正确的位置,我不知道如何将它们移动到我想要的位置。我认为它们被视为页面标题的副标题,而不是产品标题的副标题。 (至于首页,它们根本没有出现,我们一次解决1个问题)

这是我得到的和实际代码:

<?php
/**
 * The Template for displaying all single products.
 *
 * Override this template by copying it to yourtheme/woocommerce/single-product.php
 *
 * @author      WooThemes
 * @package     WooCommerce/Templates
 * @version     1.6.4
 */

 if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

 get_header( 'shop' ); ?>

<?php
    /**
     * woocommerce_before_main_content hook
     *
     * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
     * @hooked woocommerce_breadcrumb - 20
     */
    do_action( 'woocommerce_before_main_content' );
?>

<?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
    <div id="page-title">       
        <div class="width-container">
            <h3><?php woocommerce_page_title(); ?></h3>
            <?php if(function_exists('bcn_display')) {
                    echo '<div id="bread-crumb">';
                    bcn_display();
                    echo '</div>';
            }?>
        <div class="clearfix"></div>
        </div>
    </div><!-- close #page-title -->
<?php endif; ?>


    <?php while ( have_posts() ) : the_post(); ?>
    <?php the_field('subtitle'); ?>
    <?php the_field('subtitle_2'); ?>

        <?php wc_get_template_part( 'content', 'single-product' ); ?>

    <?php endwhile; // end of the loop. ?>

<?php
    /**
     * woocommerce_after_main_content hook
     *
     * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
     */
    do_action( 'woocommerce_after_main_content' );
?>

</div>

<?php
    /**
     * woocommerce_sidebar hook
     *
     * @hooked woocommerce_get_sidebar - 10
     */
    do_action( 'woocommerce_sidebar' );
?>
    <div class="clearfix"></div>
</div>

这里是相应产品页面的链接:http://tinyurl.com/pzum42k

任何帮助将不胜感激! 提前致谢, G

【问题讨论】:

  • 标有“出现字幕的地方”的红圈里面没有任何东西。你能澄清一下吗?
  • @Graham :确实如此。如果您不单击图像并放大它,您可能看不到它,因为文本是黑底灰的,但字幕在那里。

标签: php wordpress woocommerce advanced-custom-fields


【解决方案1】:

不要在single-product.php 中回显它们,而是在content-single-product.php 中回显它们。

换句话说,将single-product.php 中的内容移到后者中。

content-single-product.php中,添加&lt;div class="summary entry-summary"&gt;上方的字幕。您希望如何设置它们取决于您,但将它们放在&lt;p&gt;-tags 中至少会让它们分别显示在一行上。

这是新添加后来自content-single-product.php 的sn-p:

(...)    

<?php echo '<p>' . get_field('subtitle') . '</p>'; ?>
<?php echo '<p>' . get_field('subtitle_2') . '</p>'; ?>

<div class="summary entry-summary">

(...)

【讨论】:

  • 非常感谢您的回答@danjah!只是为了确保:如果我确实想将它们放在我的
    中,我应该将它放在哪里:在 *hooked woocommerce 行中?看起来很奇怪。这是我的 content-single-product.php 文件:pastie.org/10637791
  • 没问题。那将是您代码中的第 44 行。您可能还必须在其周围放置
    或其他任何东西,以便能够设置字幕样式。
  • 也就是说,您当然也可以设置

    -tags 的样式.. :)

  • 我只是做了所有这些,但奇怪的是,字幕没有出现,但它在标题上方创建了一个很大的空白区域并改变了“摘要条目摘要”的宽度。我的新 content-single-product.php 文件:pastie.org/10637845#1,42 和页面:tinyurl.com/pzum42k
  • 我明白了.. 就这样我明白了,subtitle 和 subtitle_2 是否只包含一个值,将显示在所有帖子上,或者是在帖子编辑器中创建的值并且在每个帖子中都不同单个帖子?
猜你喜欢
相关资源
最近更新 更多
热门标签