Sovrascrivere una funzione di classe di un plugin in WordPress
18 ott 2017, 11:02:35
Visualizzazioni: 17.8K
Voti: 5
Ho una situazione simile a questa.
In una classe di un plugin di terze parti c'è una funzione che voglio sovrascrivere estendendo quella classe.
La funzione originale della classe:
class Import_Facebook_Events_Facebook {
public function get_location( $facebook_event ) {
if ( !isset( $facebook_event->place->id ) ) {
return null;
}
//altro codice qui
}
Quello che ho provato, ma non ha funzionato (nessun effetto):
class Import_Facebook_Events_Facebook_Ext extends Import_Facebook_Events_Facebook {
public function get_location( $facebook_event ) {
if ( !isset( $facebook_event->place->id ) ) {
$facebook_event->place->id = ''; //aggiunta questa riga
//return null;
}
//altro codice qui
}
new Import_Facebook_Events_Facebook_Ext();
Cosa c'è di sbagliato qui? Come posso ottenere l'effetto desiderato?
La classe originale Import_Facebook_Events_Facebook()
viene istanziata da un'altra classe:
class Import_Facebook_Events{
private static $instance;
public static function instance() {
if( ! isset( self::$instance ) && ! (self::$instance instanceof Import_Facebook_Events ) ) {
self::$instance = new Import_Facebook_Events;
self::$instance->facebook = new Import_Facebook_Events_Facebook();
}
return self::$instance;
}
}
E la classe sopra viene istanziata da una funzione separata:
function run_import_facebook_events() {
return Import_Facebook_Events::instance();
}

Iurie
1.13K
Commenti
Tutte le risposte alla domanda
1
1
Finalmente, ho capito come risolvere il mio problema:
class Import_Facebook_Events_Facebook_Ext extends Import_Facebook_Events_Facebook {
function get_location( $facebook_event ) {
if ( !isset( $facebook_event->place->id ) ) {
$facebook_event->place->id = '';
//return null;
}
//altro codice qui
return $event_location;
}
}
$new_ife_events = run_import_facebook_events();
$new_ife_events->facebook = new Import_Facebook_Events_Facebook_Ext();
Una domanda: le ultime due righe di codice devono essere incluse in una funzione/azione?

Iurie
1.13K
18 ott 2017 13:07:52
Domande correlate
7
risposte
2
risposte
2
risposte