📜  将自定义分类添加到永久链接 post_type_link - CSS (1)

📅  最后修改于: 2023-12-03 14:53:55.045000             🧑  作者: Mango

如何将自定义分类添加到永久链接 post_type_link - CSS

在WordPress主题开发中,你可能需要将自定义分类添加到永久链接中。这可以通过使用post_type_link函数来完成。在本文中,我们将学习如何使用CSS来添加自定义分类到永久链接中。

第一步:创建自定义分类

首先,我们需要创建自定义分类。你可以使用register_taxonomy函数来创建一个新的自定义分类。下面是一个示例代码:

function custom_taxonomy() {
    $args = array(
       'public' => true,
       'label'  => 'Custom Category',
       'rewrite' => array('slug' => 'custom-category'),
    );
    
    register_taxonomy('custom_cat', 'post', $args);
}

add_action('init', 'custom_taxonomy');

在上面的代码中,我们创建了一个名为"Custom Category"的自定义分类,并将其slug设置为"custom-category"。这个自定义分类将与文章(post)相关联。

第二步:使用post_type_link函数

现在我们需要将自定义分类添加到永久链接中。这可以通过使用post_type_link函数来完成。下面是一个示例代码:

function custom_post_link($post_link, $post, $leavename, $sample) {
    if (strpos($post_link, '%custom_cat%') === false) {
        return $post_link;
    }
    
    // Get the categories for the post
    $terms = wp_get_object_terms($post->ID, 'custom_cat');
    
    if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) {
        $slug = $terms[0]->slug;
    } else {
        $slug = 'uncategorized';
    }
    
    return str_replace('%custom_cat%', $slug, $post_link);
}

add_filter('post_type_link', 'custom_post_link', 10, 4);

在上面的代码中,我们使用了post_type_link函数来替换永久链接中的%custom_cat%。该函数有4个参数:

  • $post_link: 当前文章的永久链接,需要进行处理。
  • $post:  当前文章对象。
  • $leavename:  设置是否使用文章名称.
  • $sample: 表示是否仅在想象中处理链接,而不仅将其发送到HTML输出中。

如果$post_link不含"%custom_cat%",那么将直接返回它。否则,我们将通过wp_get_object_terms函数获取文章的自定义分类。如果分类存在,则使用其slug替换%custom_cat%,否则将其替换为"uncategorized"。

第三步:添加CSS样式

现在我们已经将自定义分类添加到永久链接中,但它可能没有很好的显示。我们可以使用CSS来添加样式,使其看起来更加美观。下面是一个添加样式的示例代码:

.category-custom_cat a {
    color: #333;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
}

.category-custom_cat a:hover {
    color: #555;
    text-decoration: none;
}

在上面的代码中,我们使用.classname将样式添加到我们的自定义分类链接上。在这个示例中,我们在自定义分类"custom_cat"前面添加了"category-"前缀。因此,我们需要将样式添加到".category-custom_cat"。你可以根据需要更改样式。

总结

现在你已经知道如何将自定义分类添加到永久链接中,并通过CSS添加样式。这可以让你的WordPress主题更加强大。希望本文对你有所帮助!