Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress&;子主题-找出覆盖哪个.php的策略?_Wordpress_Customization - Fatal编程技术网

Wordpress&;子主题-找出覆盖哪个.php的策略?

Wordpress&;子主题-找出覆盖哪个.php的策略?,wordpress,customization,Wordpress,Customization,从一些基本的Wordpress引导主题开始,我想修改帖子和帖子链接的宽度。这是更多地了解可湿性粉剂比重型主题创建-我最感兴趣的是如何应用这样的小定制不同的主题。我知道每个主题都可以选择它想要提供的PHP文件,所以我知道在主题A中有效的东西在主题B中不一定有效 我已经为一个主题做了一次,但是现在另一个主题没有相同的PHP文件名 例如,我知道为了使文章的小部件区域更窄,我想覆盖侧栏.php: <!-- <div id="secondary" class="widget-area col-

从一些基本的Wordpress引导主题开始,我想修改帖子和帖子链接的宽度。这是更多地了解可湿性粉剂比重型主题创建-我最感兴趣的是如何应用这样的小定制不同的主题。我知道每个主题都可以选择它想要提供的PHP文件,所以我知道在主题A中有效的东西在主题B中不一定有效

我已经为一个主题做了一次,但是现在另一个主题没有相同的PHP文件名

例如,我知道为了使文章的小部件区域更窄,我想覆盖侧栏.php

<!-- <div id="secondary" class="widget-area col-md-4" role="complementary"> -->
<div id="secondary" class="widget-area col-lg-2" role="complementary">

修改index.php会使左侧变宽:

<!--    <section id="primary" class="content-area col-md-8"> -->
<section id="primary" class="content-area col-lg-10">
<div class="tmarker">index.php</div>  <!-- I added this! -->

index.php
当我在我的站点的根目录下时,这可以很好地工作,因为index.php正在被使用

但是,当我导航到一个帖子时,我返回到:

<div id="primary" class="content-area col-md-8">

我的帖子区域还没有扩大。这很有意义-index.php在这里不使用

我如何知道哪个PHP文件被合成到post详细视图中,以便覆盖它?

我试着在页面源代码中查找'index.php',但我只看到了我在我的子覆盖中添加的那个

我想我可以在编辑器中查看所有PHP,找到所有的
class=“content area col-md-8”
并反复尝试,直到找到正确的PHP。没什么意思。有更好的方法吗

我是否可以至少将所有这些PHP转储到文件和grep for
col-md-8
?我需要一个主题文本导出

另外,我知道Wordpress儿童定制最好在style.cssfunctions.php中完成,但是除非我错过了一些东西,否则我认为我真的需要点击那些
类的
作业来代替Bootstrap来完成这项工作。

这个问题解决了一些类似的问题

您可以将模板名称存储到全局变量中,并将其回显到页脚中。这将告诉您正在加载的模板文件(
index.php
page.php
,等等)

下面的代码应该添加到
functions.php

add_filter( 'template_include', 'var_template_include', 1000 );
function var_template_include( $t ){
    $GLOBALS['current_theme_template'] = basename($t);
    return $t;
}

add_action( 'wp_footer', 'get_current_template' );
function get_current_template() {
    if( !isset( $GLOBALS['current_theme_template'] ) )
        return false;

    echo $GLOBALS['current_theme_template'];
}

有很多技巧和策略,但其中一个是“快速而肮脏的方式”:

大多数体面的主题都会在body元素中添加一个类,以反映所使用的主题模板。如果检查body元素,应该能够看到正在使用哪个模板(例如
页面模板默认值
,等等)


如果你的主题比简单的模板级别更容易分解,那么你必须开始检查给定模板中的代码,以确定哪些代码正在运行,等等。

一种快速而肮脏的方式:大多数体面的主题会在
主体
元素中添加一个类,以反映使用的主题模板。如果检查
主体
元素,应该能够看到正在使用的模板。如果您的主题比简单的模板级别更为复杂,那么您必须开始检查给定模板中的代码,以确定哪些代码正在运行,等等。我发现