Forumi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 17.02.2022., 11:54   #1
Libertus
Premium
Moj komp
 
Libertus's Avatar
 
Datum registracije: Jul 2017
Lokacija: Ramura
Postovi: 2,480
Wordpress - izmjena datuma objave na blogu

Trebam pomoć.

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 je offline   Reply With Quote
Staro 17.02.2022., 14:41   #2
Libertus
Premium
Moj komp
 
Libertus's Avatar
 
Datum registracije: Jul 2017
Lokacija: Ramura
Postovi: 2,480
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 class="entry-date published updated" datetime="%1$s">%2$s</time>';
	$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( __( '<span class="posted-on">Posted on %1$s</span><span class="byline"> by %2$s</span>', 'hiero' ),
		sprintf( '<a href="%1$s" title="%2$s" rel="bookmark">%3$s</a>',
			esc_url( get_permalink() ),
			esc_attr( get_the_time() ),
			$time_string
		),
		sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s">%3$s</a></span>',
			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 = '<time class="entry-date published updated" datetime="%3$s">%4$s</time>';
	else {
		$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
	}
	
	$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( __( '<span class="posted-on">Last updated on %1$s</span><span class="byline"> by %2$s</span>', 'hiero' ),
			sprintf( '<a href="%1$s" title="%2$s" rel="bookmark">%3$s</a>',
				esc_url( get_permalink() ),
				esc_attr( get_the_time() ),
				$time_string
			),
			sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s">%3$s</a></span>',
				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( __( '<span class="posted-on">Posted on %1$s</span><span class="byline"> by %2$s</span>', 'hiero' ),
			sprintf( '<a href="%1$s" title="%2$s" rel="bookmark">%3$s</a>',
				esc_url( get_permalink() ),
				esc_attr( get_the_time() ),
				$time_string
			),
			sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s">%3$s</a></span>',
				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.
Libertus je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Staro 17.02.2022., 16:22   #3
eraserx
Premium
Moj komp
 
Datum registracije: Sep 2007
Lokacija: Osijek
Postovi: 105
Napravi child temu od trenutne. Imaš na wpbeginneru how to: LINK
eraserx je offline   Reply With Quote
Staro 18.02.2022., 11:28   #4
Libertus
Premium
Moj komp
 
Libertus's Avatar
 
Datum registracije: Jul 2017
Lokacija: Ramura
Postovi: 2,480
Citiraj:
Autor eraserx Pregled postova
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.

Zadnje izmijenjeno od: Libertus. 18.02.2022. u 11:40.
Libertus je offline   Reply With Quote
Staro 18.02.2022., 11:53   #5
eraserx
Premium
Moj komp
 
Datum registracije: Sep 2007
Lokacija: Osijek
Postovi: 105
Po potrebi korigiraj putanju pa probaj ubaciti u functions.php unutar child theme:
Code:
require_once trailingslashit( get_stylesheet_directory() ) . '/inc/template-tags.php';
eraserx je offline   Reply With Quote
Staro 18.02.2022., 13:23   #6
Libertus
Premium
Moj komp
 
Libertus's Avatar
 
Datum registracije: Jul 2017
Lokacija: Ramura
Postovi: 2,480
To sam već probao, našao negdje. Čim stavim taj red, raspadne se cijela stranica.
Libertus je offline   Reply With Quote
Staro 18.02.2022., 15:33   #7
eraserx
Premium
Moj komp
 
Datum registracije: Sep 2007
Lokacija: Osijek
Postovi: 105
Promakao mi edit koji si dodao u predzadnjem postu.



Jesi probao dodati tu funkciju u functions.php kao što je dev rekao?
eraserx je offline   Reply With Quote
Staro 18.02.2022., 16:16   #8
Libertus
Premium
Moj komp
 
Libertus's Avatar
 
Datum registracije: Jul 2017
Lokacija: Ramura
Postovi: 2,480
Jesam, radi bez greške.
Libertus je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na