如何使用自定义帖子类型超链接存档页面的内容

时间:2017-10-23 作者:user agent

我创建了一个自定义帖子类型来显示我的产品。分类名称称为字段。我的产品页面(products.php)定制如下:

<div id="products_wrapper">
    <?php
        $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
        $args = array(
            \'post_type\'=>\'product\', // Your post type name
            \'posts_per_page\' => 5,
            \'paged\' => $paged,
        );
        $loop = new WP_Query( $args );
        if ( $loop->have_posts() ) {
            while ( $loop->have_posts() ) : $loop->the_post(); ?>

                <div class="box">
                    <div class="box-inner">
                    <div class="thumbnail_box">
                        <a href="<?php the_permalink(); ?>" class="permalink_image">
                            <div class="box_thumbnail" style="background-image: url(<?php echo sunset_get_attachment(); ?>);"></div>
                        </a>
                    </div>
                    <div class="right">
                        <div class="title_excerpt">
                            <div class="title_box">                                 
                            <?php                                    
                            $terms_list = wp_get_post_terms($post->ID, \'field\');                                        
                            $i = 0;                                     
                            foreach($terms_list as $term){ $i++;                                            
                            if($i > 1){                                             
                            echo \', \';                                          }                                           
                            ?><span class="<?php echo $term->name ?> font-icon"></span><?php                                        
                            }                                   
                            ?>
                                <h4 class="product_title">                                      
                                <?php the_title(); ?>                                   
                                </h4>
                            </div>
                            <p class="category_excerpt"><?php echo get_the_excerpt(); ?></p>                            
                        </div>
                        <div class="box_buttons flex">
                            <a class="category_title" href="/field/<?php echo $term->name ?>">
                                <?php
                                 $terms_list = wp_get_post_terms($post->ID, \'field\');
                                    $i = 0;
                                    foreach($terms_list as $term){ $i++;
                                        if($i > 1){
                                            echo \', \';
                                        }
                                        echo $term->name. \' \';
                                    }
                                 ?>
                            </a>
                            <a href="<?php the_permalink(); ?>" class="read_more">
                                Learn More
                            </a>
                        </div>
                    </div>

                    </div>
                </div>

           <?php endwhile;
            $total_pages = $loop->max_num_pages;
        }
        wp_reset_postdata();
    ?>
</div>
对于每种产品,我都有一个阅读更多信息,可以找到单个产品文件和显示的类别名称。当我单击一个类别名称时,它会导致我创建的分类页面,该页面如下所示:

<?php
if ( have_posts() ) : ?>    
    <?php
    /* Start the Loop */
    while ( have_posts() ) : the_post();
        echo \'<div class="box">\';
        the_post_thumbnail();
        the_title();
        the_excerpt();
        echo \'<a href="http://www.parilinx.burnnotice.co.za/product/<?php the_title() ?>" class="read_more">\';
        echo \'Learn More\';  
        echo \'</a>\';
        echo \'</div>\';
    endwhile;
    the_posts_navigation();
else :
    get_template_part( \'template-parts/content\', \'none\' );
endif; 
?>
但现在分类页面中的问题是,我无法超链接“阅读更多”按钮。

每次我点击“阅读更多”时,它都会引导我回到单一产品页面,但事实并非如此。

我第一次尝试只使用:“class=”read\\u more“>,但它不起作用。

希望你能帮忙。

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

使用the_permalinkget_the_permalink 显示/检索帖子的URL(任何类型的帖子,它们在内部都是相同的)

e、 g。

the_permalink();
orx公司

<a href="<?php echo esc_url( get_the_permalink( $post_id ) ); ?>">
注意我使用的esc_url 出于安全原因而逃避该值。

以下是一些您可能会发现有用的类似函数:

  • get_post_type_archive_link(\'product\') 应返回/product/ 或WP生成的该帖子类型的等效存档get_term_link( \'purple\', \'colours\') 获取包含术语的帖子的存档链接purple 在自定义分类法中colours. 请注意,这也可以用于标记和类别。tag\\u link等功能都在其内部使用此功能,因此请去掉中间人
  • get_author_posts_url(1) 获取ID为1的用户的作者帖子存档的URLget_day_link( $year, $month, $day ) 按天获取到日期存档的链接get_month_link, get_year_link, 同上get_comment_link( $comment ), 让永久链接到注释中请注意,所有这些都应使用esc_url 在输出时,除了the_permalink 内部逃逸

结束

相关推荐

Change Taxonomy Permalinks

我有自定义帖子,我创建了一个显示所有自定义帖子的页面。示例:www.example.com/archive-page我想知道是否可以更改与此自定义帖子相关的类别和标签的永久链接。现在我有:www.example.com/my-custom-post-type-cats/my-category-1www.example.com/my-custom-post-type-tags/my-tag-1</我想要这样的东西:www.example.com/archive-page?category=1www.e

如何使用自定义帖子类型超链接存档页面的内容 - 小码农CODE - 行之有效找到问题解决它

如何使用自定义帖子类型超链接存档页面的内容

时间:2017-10-23 作者:user agent

我创建了一个自定义帖子类型来显示我的产品。分类名称称为字段。我的产品页面(products.php)定制如下:

<div id="products_wrapper">
    <?php
        $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
        $args = array(
            \'post_type\'=>\'product\', // Your post type name
            \'posts_per_page\' => 5,
            \'paged\' => $paged,
        );
        $loop = new WP_Query( $args );
        if ( $loop->have_posts() ) {
            while ( $loop->have_posts() ) : $loop->the_post(); ?>

                <div class="box">
                    <div class="box-inner">
                    <div class="thumbnail_box">
                        <a href="<?php the_permalink(); ?>" class="permalink_image">
                            <div class="box_thumbnail" style="background-image: url(<?php echo sunset_get_attachment(); ?>);"></div>
                        </a>
                    </div>
                    <div class="right">
                        <div class="title_excerpt">
                            <div class="title_box">                                 
                            <?php                                    
                            $terms_list = wp_get_post_terms($post->ID, \'field\');                                        
                            $i = 0;                                     
                            foreach($terms_list as $term){ $i++;                                            
                            if($i > 1){                                             
                            echo \', \';                                          }                                           
                            ?><span class="<?php echo $term->name ?> font-icon"></span><?php                                        
                            }                                   
                            ?>
                                <h4 class="product_title">                                      
                                <?php the_title(); ?>                                   
                                </h4>
                            </div>
                            <p class="category_excerpt"><?php echo get_the_excerpt(); ?></p>                            
                        </div>
                        <div class="box_buttons flex">
                            <a class="category_title" href="/field/<?php echo $term->name ?>">
                                <?php
                                 $terms_list = wp_get_post_terms($post->ID, \'field\');
                                    $i = 0;
                                    foreach($terms_list as $term){ $i++;
                                        if($i > 1){
                                            echo \', \';
                                        }
                                        echo $term->name. \' \';
                                    }
                                 ?>
                            </a>
                            <a href="<?php the_permalink(); ?>" class="read_more">
                                Learn More
                            </a>
                        </div>
                    </div>

                    </div>
                </div>

           <?php endwhile;
            $total_pages = $loop->max_num_pages;
        }
        wp_reset_postdata();
    ?>
</div>
对于每种产品,我都有一个阅读更多信息,可以找到单个产品文件和显示的类别名称。当我单击一个类别名称时,它会导致我创建的分类页面,该页面如下所示:

<?php
if ( have_posts() ) : ?>    
    <?php
    /* Start the Loop */
    while ( have_posts() ) : the_post();
        echo \'<div class="box">\';
        the_post_thumbnail();
        the_title();
        the_excerpt();
        echo \'<a href="http://www.parilinx.burnnotice.co.za/product/<?php the_title() ?>" class="read_more">\';
        echo \'Learn More\';  
        echo \'</a>\';
        echo \'</div>\';
    endwhile;
    the_posts_navigation();
else :
    get_template_part( \'template-parts/content\', \'none\' );
endif; 
?>
但现在分类页面中的问题是,我无法超链接“阅读更多”按钮。

每次我点击“阅读更多”时,它都会引导我回到单一产品页面,但事实并非如此。

我第一次尝试只使用:“class=”read\\u more“>,但它不起作用。

希望你能帮忙。

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

使用the_permalinkget_the_permalink 显示/检索帖子的URL(任何类型的帖子,它们在内部都是相同的)

e、 g。

the_permalink();
orx公司

<a href="<?php echo esc_url( get_the_permalink( $post_id ) ); ?>">
注意我使用的esc_url 出于安全原因而逃避该值。

以下是一些您可能会发现有用的类似函数:

  • get_post_type_archive_link(\'product\') 应返回/product/ 或WP生成的该帖子类型的等效存档get_term_link( \'purple\', \'colours\') 获取包含术语的帖子的存档链接purple 在自定义分类法中colours. 请注意,这也可以用于标记和类别。tag\\u link等功能都在其内部使用此功能,因此请去掉中间人
  • get_author_posts_url(1) 获取ID为1的用户的作者帖子存档的URLget_day_link( $year, $month, $day ) 按天获取到日期存档的链接get_month_link, get_year_link, 同上get_comment_link( $comment ), 让永久链接到注释中请注意,所有这些都应使用esc_url 在输出时,除了the_permalink 内部逃逸

相关推荐

Permalinks - Archives

WordPress文档说:WordPress offers you the ability to create a custom URL structure for your permalinks and archives. https://codex.wordpress.org/Settings_Permalinks_Screen 我看到此屏幕将如何为特定帖子/页面创建永久链接,但我没有看到此设置屏幕上关于如何为存档帖子/页面创建链接的任何其他详细信息。有人能澄清一下吗?