PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Web dizajn, programiranje i ostalo (https://forum.pcekspert.com/forumdisplay.php?f=39)
-   -   Wordpress - izmjena datuma objave na blogu (https://forum.pcekspert.com/showthread.php?t=311748)

Libertus 17.02.2022. 11:54

Wordpress - izmjena datuma objave na blogu
 
Trebam pomoć. :D

Neki dan sam si zakupio hosting i domenu, te pokrenuo blog tehničke prirode na Wordpress. Uspio sam sve posložiti što se tiče weba osim jednog.

Htio bih da umjesto "Posted on January 7" na početnoj stranici i na samoj stranici objave piše "Last modified on January 31", tj. da piše datum zadnjeg uređivanja.
Ima nekoliko primjera na Internetu kako to napraviti, ali niti jedan ne radi. Pretpostavljam da je do teme koju koristim, tj. da ona ima možda te varijable drugačije definirane.

Tema koju koristim je Hiero.
https://wordpress.org/themes/hiero/
https://athemes.com/theme/hiero/

tj. demo stranica:
https://demo.athemes.com/hiero/

WP je zadnji dostupni.

Pokušao:
1. plugin WP Last Modified Info
https://wordpress.org/plugins/wp-last-modified-info/

Radi ako stavim "Before content" ili "After content", tj. prikazuje uredno datum zadnje modifikacije prije ili poslije sadržaja objave.
Ako stavim "Replace published date" više ne radi.

2. Upute s https://ariel-lim.com/blog/show-last...press-website/

Instalirao dodatni plugin Code Snippets koji će omogućiti unos u functions.php bez potrebe da ga ručno diram. Nije uspjelo.

3. WPbeginner upute - https://www.wpbeginner.com/wp-tutori...-in-wordpress/

Probao i ovo (u suradnji s Code Snippets plugin), ali dodaje samo dodatni "Last updated" tekst ispred teksta objave, ne mijenja "posted by".

Dakle, zapeo sam, upomoć. :)

Libertus 17.02.2022. 14:41

Riješio, pa evo rješenje ako nekome može pomoći u budućnosti.

Original funkcija za Hiero temu u /inc/template-tags.php
Code:

function athemes_posted_on() {
        $time_string = '';
        $time_string = sprintf( $time_string,
                esc_attr( get_the_date( 'c' ) ),
                esc_html( get_the_date() ),
                esc_attr( get_the_modified_date( 'c' ) ),
                esc_html( get_the_modified_date() )
        );

        printf( __( 'Posted on %1$s', 'hiero' ),
                sprintf( '%3$s',
                        esc_url( get_permalink() ),
                        esc_attr( get_the_time() ),
                        $time_string
                ),
                sprintf( '%3$s',
                        esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
                        esc_attr( sprintf( __( 'View all posts by %s', 'hiero' ), get_the_author() ) ),
                        esc_html( get_the_author() )
                )
        );
}

Izmijenjeni kod funkcije:
Code:

function athemes_posted_on() {
        $date = get_the_date( 'U' );
        $updated = get_the_modified_date( 'U' );

        if( $updated > ( $date + 86400 ) )
                $time_string = '';
        else {
                $time_string = '';
        }
       
        $time_string = sprintf( $time_string,
                esc_attr( get_the_date( 'c' ) ),
                esc_html( get_the_date() ),
                esc_attr( get_the_modified_date( 'c' ) ),
                esc_html( get_the_modified_date() )
        );

        if( $updated > ( $date + 86400 ) )
                printf( __( 'Last updated on %1$s', 'hiero' ),
                        sprintf( '%3$s',
                                esc_url( get_permalink() ),
                                esc_attr( get_the_time() ),
                                $time_string
                        ),
                        sprintf( '%3$s',
                                esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
                                esc_attr( sprintf( __( 'View all posts by %s', 'hiero' ), get_the_author() ) ),
                                esc_html( get_the_author() )
                        )
                );
        else {
                printf( __( 'Posted on %1$s', 'hiero' ),
                        sprintf( '%3$s',
                                esc_url( get_permalink() ),
                                esc_attr( get_the_time() ),
                                $time_string
                        ),
                        sprintf( '%3$s',
                                esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
                                esc_attr( sprintf( __( 'View all posts by %s', 'hiero' ), get_the_author() ) ),
                                esc_html( get_the_author() )
                        )
                );
        }
}

Za ovo se mora izmijeniti /inc/template-tags.php u direktoriju teme.
Možda je moglo i kraće / elegantnije, ali ne znam PHP i ovo mi je bilo najlakše sklepati.

Za li netko kako "disable" funkciju teme i "enable" moju funkciju preko plug-ina bez da mijenjam datoteke teme?
Ako se bude nadograđivala tema da ne moram ponovno mijenjati ručno.

eraserx 17.02.2022. 16:22

Napravi child temu od trenutne. Imaš na wpbeginneru how to: LINK

Libertus 18.02.2022. 11:28

Citiraj:

Autor eraserx (Post 3584462)
Napravi child temu od trenutne. Imaš na wpbeginneru how to: LINK

Probao. Koristio plugin Child Theme Configurator koji je sve fino riješio i prenio.
Ali što god sam pokušao, nisam uspio učitati custom /inc/template-tags.php koji se nalazi u child temi, nego stalno učitava original koji nije izmijenjen iz parent teme.

Znaš li kako učitati te datoteke iz child teme umjesto parent?

EDIT: Nisam našao način kako koristiti istu datoteku iz child teme, ali sam vidio komentar programera teme koju koristim, pa sam shvatio da ne moram imati datoteke nego samo kopirati funkciju koju mijenjam u function.php child teme i izmijeniti tamo.

eraserx 18.02.2022. 11:53

Po potrebi korigiraj putanju pa probaj ubaciti u functions.php unutar child theme:
Code:

require_once trailingslashit( get_stylesheet_directory() ) . '/inc/template-tags.php';

Libertus 18.02.2022. 13:23

To sam već probao, našao negdje. Čim stavim taj red, raspadne se cijela stranica.

eraserx 18.02.2022. 15:33

Promakao mi edit koji si dodao u predzadnjem postu.



Jesi probao dodati tu funkciju u functions.php kao što je dev rekao?

Libertus 18.02.2022. 16:16

Jesam, radi bez greške. :)


Sva vremena su GMT +2. Sada je 16:56.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger