当前位置: 首页 » WordPress » WordPress – Astra 4.0.0 BUG
WordPress – Astra 4.0.0 BUG

WordPress – Astra 4.0.0 BUG

2023-01-12 刚刚升级到 Astra 4.0.0,本次版本还是有几个型特性的,比如新增了文章的标题区域,以前只能使用 PageHeader,将整个文章的标题全屏展示,现在可以设置文章标题区域,完整的功能列表,在这里
不过在使用的过程中,就发现了几个问题,文章做个简单的探索。

WordPress – Astra 4.0.0 BUG

1. 文章页面的标题上没有出现标签列表

问题描述:使用了新版本的文章 title,原本展示在标题的上方展示文章的标签,不见了,并且出现了文章元数据之间的分隔符号:/
以前使用的方式这样,修改的代码如下:

add_action( 'astra_single_post_title_before', 'tag_before_title' );

测试良久,才名吧,现在使用了新的布局,应该是更改了 hooks,服务器上搜索,title_before 关键词:

find ./ -name "*.php"|xargs grep title_before

找到了代码文件,./wp-content/themes/astra/inc/blog/blog.php,关键代码:

case 'single-breadcrumb':
				do_action( 'astra_single_post_banner_breadcrumb_before' );
				echo astra_get_breadcrumb(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
				do_action( 'astra_single_post_banner_breadcrumb_after' );
				break;
case 'single-title':
				do_action( 'astra_single_post_banner_title_before' );
				if ( 'page' === $post_type ) {
					astra_the_title(
						'<h1 class="entry-title" ' . astra_attr(
							'article-title-content-page',
							array(
								'class' => '',
							)
						) . '>',
						'</h1>'
					);
				} else {
					astra_the_title(
						'<h1 class="entry-title" ' . astra_attr(
							'article-title-blog-single',
							array(
								'class' => '',
							)
						) . '>',
						'</h1>'
					);
				}
				do_action( 'astra_single_post_banner_title_before' );
				break;	

不过奇怪的是这个 astra_single_post_banner_title_before,居然执行了两次,这个也和后面的测试类似,出现了两次标签列表。
问题解决:找到没有执行两次的 action,astra_single_post_banner_breadcrumb_after,在这个位置加入标签列表

add_action( 'astra_single_post_banner_breadcrumb_after', 'tag_before_title' );

2. 首页文章列表中的文章标题上方没有展示标签

问题描述:这个是文章列表页面,原本在文章标题上方展示了标签,现在不见了,使用上述方法,找到关键文件,./wp-content/themes/astra/inc/core/common-functions.php,找到关键代码:

function astra_the_post_title( $before = '', $after = '', $post_id = 0, $echo = true ) {
        $enabled = apply_filters( 'astra_the_post_title_enabled', true );
        if ( $enabled ) {
            $title  = astra_get_the_title( $post_id );
            $before = apply_filters( 'astra_the_post_title_before', $before );
            $after  = apply_filters( 'astra_the_post_title_after', $after );
            // This will work same as `the_title` function but with Custom Title if exits.
            if ( $echo ) {
                echo $before . $title . $after; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
            } else {
                return $before . $title . $after;
            }
        }
    }

推理来说,应该加入以下:

add_filter('astra_the_post_title_before', 'tag_before_title');

但是刷新后,发现标题虽然出现了,但是标题的样式,丢失了。
问题解决:暂时没有,首页先不展示标签。

3. 后台管理外观自定义页面点击失效

问题描述:自定义页面打开是站点页面,某些链接点击失效,比如从文章页面点击主页,点击有效,但是从主页点击进入文章页面,点击无效。

问题解决:刷新缓存,但是不保证后续不会出现。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

滚动至顶部