当前位置: 首页 > 知识库问答 >
问题:

想要改变文章标题的颜色,如果它没有为该文章设置的功能图像

辛建业
2023-03-14

所以在我的wordpress博客和大多数其他wordpress博客上,你可以设置一个特色图像。如果你不设置一个功能图像,我把它默认为一个背景图像,上面写着“新更新”,但是我设置的默认背景图像比为帖子定制的背景图像少得多。

为了解决具有自定义特征图像的帖子比具有默认图像的帖子更受关注的问题,我想让所有具有没有特征图像的帖子的博客帖子标题都更改颜色代码。

比如说。。

我的伪代码:-我不太了解jQuery/javascript,但我可能会找出基本的javascript使其工作。

IF 
('post > featured-image') = 'NONE'; 

THEN ('.post-list h1.entry-title a') = 'RED';

ELSE ('.post-list h1.entry-title a') = 'DEFAULT';

但是我怎么能通过jquery或其他功能引用wordpress中没有特色图片的帖子呢?我愿意接受任何解决方案!

非常感谢你的帮助!

共有3个答案

章承基
2023-03-14

更换这条线

<header class="entry-header">

<header class="entry-header <?= has_post_thumbnail() ? 'my-hasfeatured-img' : '' ?>">

然后在style.css中添加CSS规则:

.my-hasfeatured-img h1{
    //your code
}

希望这有帮助!

姬宝
2023-03-14

在你的single.php文件,或者你用来显示单个博客文章的页面上,你需要一个if语句检查,如果文章有缩略图,那么如果它打印出样式,或者让默认样式将会发生

<?php

if ( has_post_thumbnail() ) {
    the_post_thumbnail();

   echo "<style type=\"text/css\">";

    echo ".post-list h1.entry-title a{

            color: red !important ; /*any color of your choice*/;
        }
</style>";

}
else {

    // Default style will take place
}
?>

确保在functions.php文件中添加缩略图支持。

要在您的functions.php上添加缩略图支持,只需添加add_theme_support('post-th让利');

毛德华
2023-03-14

根据您提供的代码,您的主题已经在使用wordpress功能检查您的帖子上是否存在缩略图。我们可以利用现有的if:else语句来更改将应用于h1标记的字符串值。您可以在变量$header\u class\u name下找到字符串值。

  1. 首先,我们将值默认为has-thumbmap(第18行
  2. 然后,在文章没有缩略图的情况下,我们将默认值覆盖为无缩略图(第33行
  3. 最后,我们将类应用到h1标签(Line 72

PHP代码

<?php
/**
 * The template part for displaying content.
 *
 * @package azera-shop
 */
?>

<article id="post-<?php the_ID(); ?>" <?php post_class( apply_filters( 'azera_shop_content_post_class_filter','border-bottom-hover' ) ); ?> itemtype="http://schema.org/BlogPosting" itemtype="http://schema.org/BlogPosting">

    <header class="entry-header">

            <div class="post-img-wrap">
                <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >

                    <?php
                    // default the $header_class_name to 'has-thumbnail'
                    $header_class_name = 'has-thumbnail';
                    if ( has_post_thumbnail() ) {
                    ?>
                    <?php
                    $image_id = get_post_thumbnail_id();
                    $image_url_big = wp_get_attachment_image_src( $image_id,'azera-shop-post-thumbnail-big', true );
                    $image_url_mobile = wp_get_attachment_image_src( $image_id,'azera-shop-post-thumbnail-mobile', true );
                    ?>
                    <picture itemscope itemprop="image">
                    <source media="(max-width: 600px)" srcset="<?php echo esc_url( $image_url_mobile[0] ); ?>">
                    <img src="<?php echo esc_url( $image_url_big[0] ); ?>" alt="<?php the_title_attribute(); ?>">
                    </picture>
                    <?php
                    } else {
                    // override the default $header_class_name in the case that there is no thumbnail
                    $header_class_name = 'no-thumbnail';
                    ?>
                    <picture itemscope itemprop="image">
                    <source media="(max-width: 600px)" srcset="<?php echo azera_shop_get_file( '/images/no-thumbnail-mobile.jpg' );?> ">
                    <img src="<?php echo azera_shop_get_file( '/images/no-thumbnail.jpg' ); ?>" alt="<?php the_title_attribute(); ?>">
                    </picture>
                    <?php } ?>

                </a>
                <?php azera_shop_post_date_index_box_trigger(); ?>
            </div>

            <div class="entry-meta list-post-entry-meta">
                <?php azera_shop_content_entry_meta_top_trigger(); ?>
                <span itemscope itemprop="author" itemtype="http://schema.org/Person" class="entry-author post-author">
                    <span  itemprop="name" class="entry-author author vcard">
                    <i class="fa fa-user" aria-hidden="true"></i><a itemprop="url" class="url fn n" href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>" rel="author"><?php the_author(); ?> </a>
                    </span>
                </span>
                <span class="posted-in entry-terms-categories">
                    <i class="fa fa-folder-open-o" aria-hidden="true"></i><?php _e( 'Posted in','azera-shop' ); ?> 
                    <?php
                        /* translators: used between list items, there is a space after the comma */
                        $categories_list = get_the_category_list( esc_html__( ', ', 'azera-shop' ) );
                        $pos = strpos( $categories_list, ',' );
                    if ( $pos ) {
                        echo substr( $categories_list, 0, $pos );
                    } else {
                        echo $categories_list;
                    }
                    ?>
                </span>
                <a href="<?php comments_link(); ?>" class="post-comments">
                    <i class="fa fa-comment-o" aria-hidden="true"></i><?php comments_number( esc_html__( 'No comments','azera-shop' ), esc_html__( 'One comment','azera-shop' ), esc_html__( '% comments','azera-shop' ) ); ?>
                </a>
            </div><!-- .entry-meta -->

        <?php 
            // add the $header_class_name value to the h1 (PS consider using a similarly styled h2)
            the_title( sprintf( '<h1 class="entry-title '.$header_class_name.'" itemprop="headline"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h1>' ); ?>
        <?php echo apply_filters( 'azera_shop_header_underline','<div class="colored-line-left"></div><div class="clearfix"></div>' ); ?>

    </header><!-- .entry-header -->
    <div itemprop="description" class="entry-content entry-summary">
        <?php
            $ismore = strpos( $post->post_content, '<!--more-->' );
        if ( $ismore ) : the_content( sprintf( esc_html__( 'Read more %s &#8230;','azera-shop' ), '<span class="screen-reader-text">' . esc_html__( 'about ', 'azera-shop' ) . esc_html( get_the_title() ) . '</span>' ) );
            else : the_excerpt();
            endif;
        ?>

        <?php
            wp_link_pages( array(
                'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'azera-shop' ),
                'after'  => '</div>',
            ) );
        ?>
    </div><!-- .entry-content -->

</article><!-- #post-## -->

CSS

article header h1.no-thumbnail{
    color:red;
}

然后可以通过引用任意一个类名来应用CSS

 类似资料: