it-swarm.com.de

Änderung der Copyright-Informationen in Theme Child PHP

Unten befindet sich die Datei, aus der die Informationen abgerufen werden.

Ich habe versucht, den Ordner/inc zum untergeordneten Thema hinzuzufügen und die template-tags.php mit den geänderten hinzuzufügen, dies hat jedoch keine Auswirkungen.

/wp-content/themes/hestia/inc/template-tags.php

Dies ist der Originalcode hier…

function hesta_bottom_footer_content( $is_callback = false ) {
    if ( ! $is_callback ) {
    ?>
        <div class="hestia-bottom-footer-content">
        <?php
    }
    $hestia_general_credits     = get_theme_mod(
        'hestia_general_credits',
        sprintf(
            /* translators: %1$s is Theme Name, %2$s is WordPress */
            esc_html__( '%1$s | Powered by %2$s', 'hestia' ),
            sprintf(
                /* translators: %s is Theme name */
                '<a href="https://themeisle.com/themes/hestia/" target="_blank"         rel="nofollow">%s</a>',
                esc_html__( 'Hestia', 'hestia' )
            ),
            /* translators: %s is WordPress */
            sprintf(
                '<a href="%1$s" rel="nofollow">%2$s</a>',
                esc_url( __( 'http://wordpress.org', 'hestia' ) ),
                esc_html__( 'WordPress', 'hestia' )
            )
        )
    );
    $hestia_copyright_alignment = get_theme_mod( 'hestia_copyright_alignment',    'right' );
    $menu_class                 = 'pull-left';
    $copyright_class            = 'pull-right';
    switch ( $hestia_copyright_alignment ) {
        case 'left':
            $menu_class      = 'pull-right';
            $copyright_class = 'pull-left';
            break;
        case 'center':
            $menu_class      = 'hestia-center';
            $copyright_class = 'hestia-center';
    }
    wp_nav_menu(
        array(
            'theme_location' => 'footer',
            'depth'          => 1,
            'container'      => 'ul',
            'menu_class'     => 'footer-menu ' . esc_attr( $menu_class ),
        )
    );
        ?>
    <?php if ( ! empty( $hestia_general_credits ) || is_customize_preview() ) :    ?>
        <div class="copyright <?php echo esc_attr( $copyright_class ); ?>">
            <?php echo wp_kses_post( $hestia_general_credits ); ?>
        </div>
    <?php endif; ?>
    <?php
    if ( ! $is_callback ) {
    ?>
        </div>
        <?php
    }
   }

Und dies ist derselbe Code mit den Änderungen, die ich vornehmen möchte

function hesta_bottom_footer_content( $is_callback = false ) {
    if ( ! $is_callback ) {
    ?>
        <div class="hestia-bottom-footer-content">
        <?php
    }
    $hestia_general_credits     = get_theme_mod(
        'hestia_general_credits',
        sprintf(
            /* translators: %1$s is Theme Name, %2$s is WordPress */
            esc_html__( 'Designed by HCL Design' ),
            sprintf(
                /* translators: %s is Theme name */
                '<a href="https://themeisle.com/themes/hestia/" target="_blank" rel="nofollow">%s</a>',
                esc_html__( 'Hestia', 'hestia' )
            ),
            /* translators: %s is WordPress */
            sprintf(
                '<a href="%1$s" rel="nofollow">%2$s</a>',
                esc_url( __( 'http://wordpress.org', 'hestia' ) ),
                esc_html__( 'WordPress', 'hestia' )
            )
        )
    );
    $hestia_copyright_alignment = get_theme_mod( 'hestia_copyright_alignment', 'right' );
    $menu_class                 = 'pull-left';
    $copyright_class            = 'pull-right';
    switch ( $hestia_copyright_alignment ) {
        case 'left':
            $menu_class      = 'pull-right';
            $copyright_class = 'pull-left';
            break;
        case 'center':
            $menu_class      = 'hestia-center';
            $copyright_class = 'hestia-center';
    }
    wp_nav_menu(
        array(
            'theme_location' => 'footer',
            'depth'          => 1,
            'container'      => 'ul',
            'menu_class'     => 'footer-menu ' . esc_attr( $menu_class ),
        )
    );
        ?>
    <?php if ( ! empty( $hestia_general_credits ) || is_customize_preview() ) : ?>
        <div class="copyright <?php echo esc_attr( $copyright_class ); ?>">
            <?php echo wp_kses_post( $hestia_general_credits ); ?>
        </div>
    <?php endif; ?>
    <?php
    if ( ! $is_callback ) {
    ?>
        </div>
        <?php
    }
}

Gibt es also eine Möglichkeit, diese Änderung vorzunehmen, indem Sie der functions.php oder einer anderen Datei eine Funktion hinzufügen? Jede Lösung wird es mir ermöglichen, diese Änderung vorzunehmen und sie nicht jedes Mal zu ändern, wenn das Thema aktualisiert wird.

In der footer.php gibt es eben

<?php do_action( 'hestia_do_footer' ); ?>

was mich veranlasste, die Quelle dieser do_action zu finden.

Jede Hilfe wird gebeten und bitte lassen Sie mich alle weiteren Details wissen, die Sie benötigen, da dies sehr schwer zu erklären ist.

1
Harvey

Sie müssen 2 Funktionen ändern, nicht nur eine in Ihrem functions.php:

/**
 * Function to display footer content.
 *
 * @since 1.1.24
 * @access public
 */
//ADDED CHILD TO THE END OF THE NAME
function hestia_the_footer_content_child() {
    /**
     * Array holding all registered footer widgets areas
     */
    $hestia_footer_widgets_ids = array( 'footer-one-widgets', 'footer-two-widgets', 'footer-three-widgets' );
    $hestia_footer_class = 'col-md-4';
    $footer_has_widgets = false;
    $hestia_nr_footer_widgets = get_theme_mod( 'hestia_nr_footer_widgets','3' );

    /**
     *  Enabling alternative footer style
     */
    $footer_style = '';
    $footer_style = get_theme_mod( 'hestia_alternative_footer_style', 0 );
    if ( isset( $footer_style ) && $footer_style == 0 ) {
        $footer_style = 'footer-black';
    } else {
        $footer_style = '';
    }

    /**
     *  Get the widgets areas ids and class corresponding to the number selected by the user
     */
    if ( ! empty( $hestia_nr_footer_widgets ) ) {
        $hestia_footer_widgets_ids = array_slice( $hestia_footer_widgets_ids, 0, $hestia_nr_footer_widgets );
        switch ( $hestia_nr_footer_widgets ) {
            case 1:
                $hestia_footer_class = 'col-md-12';
                break;
            case 2:
                $hestia_footer_class = 'col-md-6';
                break;
            case 3:
                $hestia_footer_class = 'col-md-4';
                break;
            case 4:
                $hestia_footer_class = 'col-md-3';
                break;
        }
    }
    /**
     * Check if the selected footer widgets areas are not empty
     */
    if ( ! empty( $hestia_footer_widgets_ids ) ) {
        foreach ( $hestia_footer_widgets_ids as $hestia_footer_widget_item ) {
            $footer_has_widgets = is_active_sidebar( $hestia_footer_widget_item );
            if ( $footer_has_widgets ) {
                break;
            }
        }
    }

    hestia_before_footer_trigger();
    ?>
    <footer class="footer <?php echo esc_attr( $footer_style ); ?> footer-big">
        <?php hestia_before_footer_content_trigger(); ?>
        <div class="container">
            <?php
            if ( $footer_has_widgets ) {
            ?>
                <div class="content">
                    <div class="row">
                        <?php
                        if ( ! empty( $hestia_footer_widgets_ids ) ) {
                            foreach ( $hestia_footer_widgets_ids as $hestia_footer_widget_item ) {
                                if ( is_active_sidebar( $hestia_footer_widget_item ) ) {
                                    echo '<div class="' . $hestia_footer_class . '">';
                                        dynamic_sidebar( $hestia_footer_widget_item );
                                    echo '</div>';
                                }
                            }
                        }
                        ?>
                    </div>
                </div>
                <hr/>
                <?php
            }
            ?>
            <?php hestia_before_footer_widgets_trigger(); ?>
            <div class="hestia-bottom-footer-content">
                <?php
//ADDED CHILD THIS IS THE CALL TO THE COPYRIGHT
                hesta_bottom_footer_content_child();
                ?>
            </div>
            <?php hestia_after_footer_widgets_trigger(); ?>
        </div>
        <?php hestia_after_footer_content_trigger(); ?>
    </footer>
    <?php
    hestia_after_footer_trigger();
}
//WE CHANGE THE ACTION NAME AND THE CALL IS TO OUR FUNCTION NOW
add_action( 'hestia_do_footer_child', 'hestia_the_footer_content_child' );

    //THIS IS YOUR MODIFIED FUNCTION
    function hesta_bottom_footer_content_child( $is_callback = false ) {
    if ( ! $is_callback ) {
    ?>
        <div class="hestia-bottom-footer-content">
        <?php
    }
    $hestia_general_credits     = get_theme_mod(
        'hestia_general_credits',
        sprintf(
            /* translators: %1$s is Theme Name, %2$s is WordPress */
            esc_html__( 'Designed by HCL Design' ),
            sprintf(
                /* translators: %s is Theme name */
                '<a href="https://themeisle.com/themes/hestia/" target="_blank" rel="nofollow">%s</a>',
                esc_html__( 'Hestia', 'hestia' )
            ),
            /* translators: %s is WordPress */
            sprintf(
                '<a href="%1$s" rel="nofollow">%2$s</a>',
                esc_url( __( 'http://wordpress.org', 'hestia' ) ),
                esc_html__( 'WordPress', 'hestia' )
            )
        )
    );
    $hestia_copyright_alignment = get_theme_mod( 'hestia_copyright_alignment', 'right' );
    $menu_class                 = 'pull-left';
    $copyright_class            = 'pull-right';
    switch ( $hestia_copyright_alignment ) {
        case 'left':
            $menu_class      = 'pull-right';
            $copyright_class = 'pull-left';
            break;
        case 'center':
            $menu_class      = 'hestia-center';
            $copyright_class = 'hestia-center';
    }
    wp_nav_menu(
        array(
            'theme_location' => 'footer',
            'depth'          => 1,
            'container'      => 'ul',
            'menu_class'     => 'footer-menu ' . esc_attr( $menu_class ),
        )
    );
        ?>
    <?php if ( ! empty( $hestia_general_credits ) || is_customize_preview() ) : ?>
        <div class="copyright <?php echo esc_attr( $copyright_class ); ?>">
            <?php echo wp_kses_post( $hestia_general_credits ); ?>
        </div>
    <?php endif; ?>
    <?php
    if ( ! $is_callback ) {
    ?>
        </div>
        <?php
    }
}

Jetzt rufen wir in footer.php unsere Aktion auf:

<?php do_action( 'hestia_do_footer_child' ); ?>

Selbst wenn Sie die Funktion geändert haben, wurde die eigentliche Funktion des Copyrights von einer anderen Funktion aufgerufen. Sie müssen daher auch eine eigene Version dieser Funktion erstellen, damit sie Ihre geänderte Funktion aufruft.

1
David Lee