📅  最后修改于: 2023-12-03 14:53:55.045000             🧑  作者: Mango
在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函数来完成。下面是一个示例代码:
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不含"%custom_cat%",那么将直接返回它。否则,我们将通过wp_get_object_terms函数获取文章的自定义分类。如果分类存在,则使用其slug替换%custom_cat%,否则将其替换为"uncategorized"。
现在我们已经将自定义分类添加到永久链接中,但它可能没有很好的显示。我们可以使用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主题更加强大。希望本文对你有所帮助!