WordPress manja prilagodba php the_date();

Koristim pep temu (besplatna je) i gotovo bez ikakvog suporta. Meni je OK za blog koji pomalo pišem, a jedna stvar me malo ipak smeta.

Mislio sam da je riječ o bug-u, ali pregledavajući php datoteke teme skužio sam da je funkcija napisana u smislu da pokazuje vrijeme objave posta i vrijeme izmjene na postu. Ja bih da stoji samo vrijeme objave posta, pa vam evo kod koji radi kako ne želim, ako ima dobra duša da ga prepravi u ovo šta ja želim - dakle da stoj vrijeme pisanja posta u formatu koji je i sada tu u kodu.

/**
 * Prints HTML with meta information for the current post-date/time and author.
 */
function pep_posted_on() {
	$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time>';
	if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
		$time_string .= '<time class="updated" datetime="%3$s">%4$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>', 'pep' ),
		sprintf( '<a href="%1$s" rel="bookmark">%2$s</a>',
			esc_url( get_permalink() ),
			$time_string
		),
		sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s">%2$s</a></span>',
			esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
			esc_html( get_the_author() )
		)
	);
}
endif;

Zahvaljujem na pomoći.

/**
 * Prints HTML with meta information for the current post-date/time and author.
 */
function pep_posted_on() {
	$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time>';
	 

	$time_string = sprintf( $time_string,
		esc_attr( get_the_date( 'c' ) ),
		esc_html( get_the_date() )
		 
	);

	printf( __( '<span class="posted-on">Posted on %1$s</span><span class="byline"> by %2$s</span>', 'pep' ),
		sprintf( '<a href="%1$s" rel="bookmark">%2$s</a>',
			esc_url( get_permalink() ),
			$time_string
		),
		sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s">%2$s</a></span>',
			esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
			esc_html( get_the_author() )
		)
	);
}
endif;

To bi trebalo biti to. Na početku funkciju gleda se da li postoji vrijeme promjene koje je različito od publishiranog. Ukoliko postoji dodaje se i taj dio u varijablu $time_string. Nakon toga preko funkcije sprintf se u toj varijabli $time_string mijenjaju dijelovi %1$s i sl. sa pravim vrijednostima slijedeći redoslijed. Zbog toga se i u toj funkciji miču dva zadnja dohvata ‘get_the_modified_date’

1 Like

Hvala kolega, to je to… Sada sve ide kako sam zamislio.

Nego, sada da priupitam i tebe i ostale. Zbog čega se netko odluči na takav prikaz datuma (vremena)? Ne kužim potrebu za takvim nečim, pa ako ima neko logično objašnjenje da netko napiše…

Na nekim tipovima blogova možda ima smisla u smislu da se piše o nečemu aktualnome te se na taj način može vidjeti kada je nešto vezano uz taj članak dopisano/napisano.

Na taj način moguće je vidjeti ako je netko nešto komentirao da je netočno te da treba ispraviti možete i saznati preko datuma komentara i datuma zadnje izmjene da li je došlo do te promjene ili je i dalje neka informacija netočna.

1 Like