Pergunta sobre o calendário de eventos para WordPress: Fine_get_events parou de retornar EventStartDate e EventEndDate por padrão

Um usuário perguntou 👇

Anteriormente, parecia que fine_get_events() restauraria EventStartDate e EventEndDate para o padrão, e isso não acontece mais. Isso quebra o código antigo que supunha que esses valores existiam.

Você ainda pode obter esses valores após o fato chamando get_post_meta() para obter esses valores e adicioná-los ao resultado, mas essa é uma alteração deliberada, portanto, precisa ser feita no futuro, ou é uma erro?

(@cfullsteam)

1 ano, 9 meses atrás

Também vimos essa quebra em alguns sites. O changelog com uma atualização para v4.9.0, ou versões anteriores, não mencionou essa mudança. Às vezes, também vimos uma nova propriedade, event_date, aparecer e mapear para a data de início.

Em alguns casos, decidimos usar fine_get_end_date(), por exemplo, mas se isso fosse uma mudança deliberada, haveria alguns no changelog que esta atualização incluiria uma mudança de última hora.

(@josephparsley)

1 ano, 9 meses atrás

Isso ainda é um problema no 4.9.0.2. Ainda não tenho certeza de qual foi a mudança deliberada aqui, mas se seria útil pelo menos admiti-la.

(@marshaloram)

1 ano, 9 meses atrás

Eu também tenho essa pergunta em pelo menos um site. Cavando na fonte, parece que deveria trazê-lo de volta, mas não traz, deve ser um bug. Alguma atualização aqui Modern Tribe?

(@marshaloram)

1 ano, 8 meses atrás

Isso ainda é palavra da Modern Tribe sobre isso, então escrevi um patch agora. Basta adicionar este trecho ao seu arquivo de funções do tema e esses dois meta valores serão retornados ao objeto de saída como antes:

add_filter( 'tribe_get_events', 'mdw_add_back_EventEndDate', 5, 1 );

function mdw_add_back_EventEndDate($events){
	$updated_events = array();
	
	foreach($events as $event):
		$event->EventStartDate = tribe_get_start_date( $event, false, 'Y-m-j g:i a');
		$event->EventEndDate = tribe_get_end_date( $event, false, 'Y-m-j g:i a');
		$updated_events[]=$event;
	endforeach;
		
	return $updated_events;
}

(@contentjones)

1 ano, 8 meses atrás

Tivemos a mesma pergunta. Seu filho consertou. Também vou enviar um tíquete de problema por meio de nossa conta. Obrigado por postar isso!

(@leviador)

1 ano, 6 meses atrás

Isso foi uma atualização? Foi um erro?

(@colewebdev)

1 ano, 2 meses atrás

Recentemente, encontramos esse mesmo erro no site de um cliente. O trecho postado por marshalloram funciona perfeitamente.

O cliente está executando a versão 4.9.11

Eu não recebi nenhuma documentação ou posts de outros desenvolvedores, então me sinto sortudo por ter descoberto.

(@hshah)

10 meses atrás

@marshaloram

Vejo erros relacionados a EventStartDate em algumas consultas, então tente usar seu patch. Isso parece levar a mais bugs… Acho que as coisas podem ter mudado nos últimos 11 meses.

Estou perdendo algo óbvio aqui?

PHP Warning:  Attempt to assign property 'EventStartDate' of non-object in...
PHP Warning:  Attempt to assign property 'EventEndDate' of non-object in...

PHP Fatal error:  Uncaught Tribe__Repository__Usage_Error: The Tribe__Events__Pro__Repositories__Event class does not define a ID property; add it by decorating or extending this class. in /home/hirensha/public_html/sites/staging.r8drive.co.uk/wp-content/plugins/the-events-calendar/common/src/Tribe/Repository/Usage_Error.php:62
Stack trace:
#0 /wp-content/plugins/the-events-calendar/common/src/Tribe/Repository.php(462): Tribe__Repository__Usage_Error::because_property_is_not_defined('ID', Object(Tribe__Events__Pro__Repositories__Event))
#1 /wp-content/plugins/the-events-calendar/common/src/functions/template-tags/date.php(296): Tribe__Repository->__get('ID')
#2 /wp-content/themes/oceanwp-child/functions.php(272): tribe_get_start_date(Object(Tribe__Events__Pro__Repositories__Event), false, 'Y-m-j g:i a')
#3 /wp-incl in /wp-content/plugins/the-events-calendar/common/src/Tribe/Repository/Usage_Error.php on line 62

(@hshah)

10 meses atrás

@marshaloram

Ignore o post anterior… todos os plugins parecem ter sido desativados e depois os plugins reativados, não há necessidade desse recurso.

Eu deveria ter tentado primeiro lol!

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *