Cześć, najlepiej chyba zrobić to na shortcodzie. Na zasadzie [wiek rok="2000"]
. Pytanie czy masz ochotę pogrzebać w kodzie czy szukasz gotowego rozwiązania?
chciałbym to załatwić jak najłatwiej. Shortcode wydaje się dobrym pomysłem, bo ten wiek pojawi się w kilku miejscach i dobrze byłoby mieć panowanie nad tym gdzie będę to wstawiał. Próbowałem gotowych pluginów jak np. Baby Age i Age Calculator, ale to nie działa (instaluje się i aktywuje, ale nic z tym nie mogę zrobić na najnowszym WP).
a może jest jakiś sposób, żeby włożyć do treści postu skrypt, który w danym miejscu wyświetli mi wynik takiego działania?
a może jest jakiś sposób, żeby włożyć do treści postu skrypt, który w danym miejscu wyświetli mi wynik takiego działania?
Do treści postu skryptów się nie wkłada tylko:
najlepiej zrobić to na shortcodzie. Na zasadzie [wiek rok=”2000″
Przykładowy skrypt może wyglądać tak:
/*
* Fukcja obliczająca ilość lat od podanej daty
*
* @package WordPress
* @subpackage WPSolucje.tk
* @author: Paweł Nowak
*
* @param array $wiek {
* Attributes of the age shortcode.
*
* @type string $rok Data, od której obliczane są lata.
* @type string $format Format wywietlania wieku. Format musi pasować do wprowadzonej daty.
* Więcej tu:
* @link: http://php.net/manual/en/datetime.createfromformat.php
*
* @return string @wynik Zwraca obliczoną ilość lat od podanej daty w @type @rok
**/
add_shortcode('wiek', 'wpsolucje__sc__wiek');
function wpsolucje__sc__wiek( $wiek ){
$wiek = shortcode_atts( array(
'rok' => '2000',
'format' => 'Y',
), $wiek );
$rok = DateTime::createFromFormat( 'Y', $wiek['rok'] );
$teraz = new DateTime();
$wynik = $teraz->diff( $rok );
return $wynik->y;
}
Pastebin: https://pastebin.com/b4diW0AN
Manipulując formatem, możesz obliczać lata na podstawie dostarczonej daty urodzin.
-
Odpowiedź została zmodyfikowana 5 years, 11 months temu przez
Paweł. Powód: literówka
Pawel >dzięki
przepraszam, ale muszę poprosić o zejście jeszcze niżej.
Nie wiem jak tego użyć.
Prawdopodobnie muszę gdzieś osadzić ten kod, który napisałeś i później wywołać go shortcodem. Możesz jakoś naprowadzić?
ok,
znalazłem info jak to dodać, tylko wywołanie shortcode w postaci [wiek 1983]
i tak daje mi wynik 19 (pewnie dlatego, że tak jest w skrypcie 'rok’ => '2000′)
Jak to zmienić, żeby dodawać różne roczniki? może źle posługuję się parametrem w shortcode?
wybaczcie, bo dla Was to pewnie poziom przedszkola, ja niestety dotychczas tylko instalowałem gotowe pluginy. Dla socjologa to nie takie proste 🙂
-
Ta odpowiedź została zmodyfikowana 5 years, 11 months temu przez
kubaralszkowski.
ok, zrobiłem tak i działa [wiek rok=1983]
@mrpauloen dziękuję !!!!!!
Jest to gotowa funkcja, którą musisz wstawić do pliku functions.php.
Znacznika używasz w ten sposób, że w treści wpisu/strony wstawiasz:
[wiek rok=”1956″]
Funkcja oblicza na podstawie podanego roku ilość lat i zwraca wartość według formatu: 'Y’.
Jest to tylko wyjściowy szkielet funkcji.
O! takich funkcji szukałem!
Nie ma wtyczek fajnych? 😀
Z tego też można zrobić wtyczkę.