как изменить URL-адрес каталога родительской темы в дочерней теме, указывая на каталог дочерней темы - PullRequest
0 голосов
/ 10 апреля 2020

Я новичок в WordPress. Я только что создал дочернюю тему и мне нужна ваша помощь с php кодированием и функциями. php related.

Я скопировал это из родительской темы (assets / inc / header-related. php) и поместил в папку дочерней темы, сохраняя структуру папок.

Внутри, связанной с заголовком. php есть раздел для lo go, который я хочу отредактировать. Вот код ниже

* Logo */
function thb_logo( $section = false ) {
    $logo = ot_get_option( 'logo', Thb_Theme_Admin::$thb_theme_directory_uri. 'assets/img/logo.png' );
    $loading = 'auto';
    $classes[] = 'logo-holder';
    if ($section == 'fixed-logo') {
        $logo = ot_get_option( 'logo_fixed', $logo );
        $classes[] = 'fixed-logo-holder';
        $loading = 'lazy';
    } elseif ($section == 'mobile-logo') {
        $logo = ot_get_option( 'mobile_logo', $logo );
        $classes[] = 'mobile-logo-holder';
        $loading = 'lazy';
    } elseif ($section == 'logo_mobilemenu') {
        $logo = ot_get_option( 'logo_mobilemenu', $logo );
        $classes[] = 'mobilemenu-logo-holder';
        $loading = 'lazy';
    }
    ?>
    <div class="<?php echo esc_attr( implode( ' ', $classes ) ); ?>">
        <a href="<?php echo esc_url( home_url('/') ); ?>" class="logolink" title="<?php bloginfo('name'); ?>">
            <img src="<?php echo esc_url( $logo ); ?>" loading="<?php echo esc_attr( $loading ); ?>" class="logoimg logo-dark" alt="<?php bloginfo('name'); ?>" />
        </a>
    </div>
    <?php
}
add_action( 'thb_logo', 'thb_logo', 2, 1 );

Я хотел бы изменить каталог темы

$logo = ot_get_option( 'logo', Thb_Theme_Admin::$thb_theme_directory_uri. 'assets/img/logo.png' 

, чтобы он указывал ресурсы / img / lo go .png из дочерней темы а не тема родителей, как сейчас. также я изменил его на lo go .svg и добавил svg в папку, но опять-таки, похоже, он принимает его из родительского каталога.

Теперь, что мне нужно сделать, чтобы это указывало на папки дочерних тем? я должен добавить / поставить в очередь это в моих функциях дочерней темы? Если да, то знаете ли вы, как?

Я не уверен, что мне следовало бы загрузить структуру папок внутри своей дочерней темы или просто добавить код внутри функций. php

Я бы признателен, если кто-то может направить меня и извиниться, если это может показаться странным, но надеюсь, что мой вопрос понятен Спасибо!

PS это мои функции. php выглядит так:

    <?php /*

  This file is part of a child theme called rekuin2020.
  Functions in this file will be loaded before the parent theme's functions.
  For more information, please read
  https://developer.wordpress.org/themes/advanced-topics/child-themes/

*/

// this code loads the parent's stylesheet (leave it in place unless you know what you're doing)

function your_theme_enqueue_styles() {

    $parent_style = 'parent-style';

    wp_enqueue_style( $parent_style, 
      get_template_directory_uri() . '/style.css'); 

    wp_enqueue_style( 'child-style', 
      get_stylesheet_directory_uri() . '/style.css', 
      array($parent_style), 
      wp_get_theme()->get('Version') 
    );
}

add_action('wp_enqueue_scripts', 'your_theme_enqueue_styles');

/*  Add your own functions below this line.
    ======================================== */ 

1 Ответ

0 голосов
/ 10 апреля 2020
$logo = ot_get_option( 'logo', Thb_Theme_Admin::$thb_theme_directory_uri. 'assets/img/logo.png' 

это опция темы, и она указывает на файл изображения в папке родительской темы

Чтобы иметь возможность извлечь изображение из каталога вашей дочерней темы, вам нужно изменить $ thb_theme_directory_uri на $ thb_stylesheet_directory_uri. Кроме того, вы также должны скопировать папку ресурсов с изображением в дочернюю тему.

Я не уверен, но попробуйте.

Также, если вы хотите настроить свою тему, вы должен ВСЕГДА делать это из дочерней темы. Если вы хотите добавить CSS, вы должны создать CSS файл внутри директории дочерней темы и поставить его в очередь в своих функциях PHP file

wp_enqueue_style( 'style', get_stylesheet_directory_uri() . '/style.css' );

вот так, обернуть его в функцию и добавить хук действия " wp_enqueue_scripts "

Если вы хотите отредактировать файл темы PHP, скопируйте его в дочернюю тему и внесите в него изменения. Будьте внимательны и следите за структурой папок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...