个性化阅读
专注于IT技术分析

核心文件夹中带有下划线的get_template_part()

我需要一个listings_recently.php文件的子副本来对其进行更改。我需要将此文件包含在我的子主题中:/themes/listingeasy/core/widgets/listings_recently.php

据我所知, 我需要告诉主题来寻找该文件。这是在我的孩子的主题functions.php中完成的, 对吗?

这就是我的functions.php:

get_template_part('get_stylesheet_directory() . "/core/widgets/listings"', 'recently');
get_template_part('get_stylesheet_directory() . "/core/widgets/listings_recently.php"');

两行均不工作。

我该如何进行?这是文件夹架构:

themes
    listingeasy
        single.php
        core
            widgets
                listing_recently.php
    listingeasy-child
        functions.php
        single.php (I made changes here and its working)
        core
            widgets
                listing_recently.php (Changes here aren't working)

#1


我创建了二十一丁主题的子主题来重现你的方案。子主题的文件夹结构是这样的。

资料夹结构

functions.php

<?php
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
  wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}

get_template_part( 'core/widgets/listings_recently' );

listings_recently.php

<h1>Sagar Tamang</h1>;

<?php

你需要使用get_template_part(‘core / widgets / listings_recently’);包含带下划线的文件。如果你在functions.php中使用了get_template_part()函数, 则输出似乎在HTML标记上方。

在此处输入图片说明

#2


我不知道你的主题。但是, 当你要编辑listings_recently.php中的功能时, 可以尝试将这些功能复制到你的子主题functions.php中并在此处进行编辑。在大多数情况下, 它都有效。

问候汤姆

编辑:尝试require();在你的儿童主题functions.php中:

require('core/widgets/listings_recently.php');

编辑2(请参阅注释, 主题本身具有自己的get_template_directory())

get_template_directory() 

返回父模板目录的路径。采用

get_stylesheet_directory() 

返回你的子主题目录的路径


#3


我相信我现在明白了你在这里想要做什么。看来你正在尝试将文件的副本添加到子主题中, 以便可以编辑该文件, 并使这些更改覆盖父主题, 而不更改父主题的文件。这不是对任意php文件的本机支持的操作, 仅对主题模板文件有效。

你需要将其移动到主主题目录(与single.php所在的目录相同), 并为其指定适当的主题层次结构文件名。这就是为什么你对single.php文件所做的更改起作用的原因, 而对于此特定文件却无效。 Single.php是已知的模板, 你的文件只是你添加的php文件。

另外, 你可以更改你的listings_recently.php文件, 并在父主题中替换当前版本。如果你担心丢失旧版本, 请将其保存到桌面或使用GitHub之类的版本控制系统。这可能是最好的方法。

第三种选择是对子主题的functions.php文件进行硬编码更改。

赞(0)
未经允许不得转载:srcmini » 核心文件夹中带有下划线的get_template_part()

评论 抢沙发

评论前必须登录!