不同的标签不同的样式表

时间:2017-01-03 作者:bets

我有标签,对于一些标签,我想加载不同的样式表,但我不知道如何加载

我有。。。。

function customstyles()
{
    if ( is_tag( \'circulair\' ) ) {

        //Register and enqueue the stylesheet for tag-circulair.
        wp_register_style( \'tag-circulair\', get_stylesheet_directory_uri() . \'/layout-circulair\' );  
        wp_enqueue_style( \'tag-circulair\' );

    } else {

        //Register and enqueue the default stylesheet.    
        wp_register_style( \'styles\', get_stylesheet_uri() );
        wp_enqueue_style( \'styles\' );  

    }   
}
add_action( \'wp_enqueue_scripts\', \'customstyles\' );
但这不行

谢谢打赌

3 个回复
SO网友:Magnus Guyra

例如,您可能希望在主题的头文件中获取标记,并将标记名作为类添加到最高元素之一。

这样,您就可以在页面上标记“james”,并说:

body.james #mainmenu li > a { color: #f00; }
否则,您可以获取标记并使用php尝试加载与标记同名的样式表(如果没有标记或文件不存在,则使用标准样式表)。

<?php
// Get the tags.
$tag = get_the_tags();
// Count the number of tags.
$count = count($tag);

// Check if there are tags at all.
if($tag != null) {
    $dir = get_stylesheet_directory() . "/";

    // Go through each tag.
    foreach($tag as $t) {
        // Get the full path to the CSS file we want to load based on the tag.
        $fullpath = $dir . $t->name . ".css";

        // Check if the file exists.
        if(file_exists($fullpath)) {
            // Link the CSS file.
            echo "<link rel=\'stylesheet\' href=\'" . $fullpath . "\' type=\'text/css\'>";
        } else if($tag == $count) {
            // If not, link the standard CSS file, but only if on the last loop.
            echo "<link rel=\'stylesheet\' href=\'generic-stylesheet.css\' type=\'text/css\'>";
        }
    }
} ?>
这应该可以奏效。加载完所有其他CSS文件后,这应该放在主题/子主题的头文件中。

SO网友:AddWeb Solution Pvt Ltd

尝试has_tag 为了它。

function customstyles() { 
  if ( has_tag( \'circulair\' ) ) {
    //Register and enqueue the stylesheet for tag-circulair.
    wp_register_style( \'tag-circulair\', get_template_directory_uri() . \'/layout-circulair/style.css\' );  
    wp_enqueue_style( \'tag-circulair\' );
  } else {
    //Register and enqueue the default stylesheet.    
    wp_register_style( \'styles\', get_stylesheet_directory_uri() );
    wp_enqueue_style( \'styles\' );  
  }
}
add_action( \'wp_enqueue_scripts\', \'customstyles\' );
希望这对你有帮助。

SO网友:bets

function register_tag_styles() {
    wp_register_style( \'tag-circulair-template\', get_stylesheet_directory_uri() . \'/layout-circulair.css\' );
    wp_register_style( \'tag-circulair-kantoor-template\', get_stylesheet_directory_uri() . \'/layout-circulair.css\' );
    }
add_action( \'wp_enqueue_scripts\', \'register_tag_styles\' );
这段代码为我做到了这一点,但我认为当我有10多个具有不同样式表的标记时,这太复杂了。。。。。

相关推荐