Come richiamare una funzione del plugin da index.php

18 nov 2012, 17:02:12
Visualizzazioni: 36.9K
Voti: 9

Ho creato una funzione nel mio plugin myplugin con il nome foo, come posso richiamarla dal frontend?

// Controlla se la funzione esiste
if(function_exists('foo')) {
    foo(); // Richiama la funzione
}
3
Commenti

hmmm un tasso di accettazione del 25% è piuttosto basso

Tom J Nowell Tom J Nowell
18 nov 2012 22:24:34

Come chiamare una funzione PHP all'interno di un file PHP è una domanda su PHP, non su WordPress.

Chip Bennett Chip Bennett
19 nov 2012 13:57:21

è letteralmente una domanda sui plugin di WordPress @ChipBennett ....

nick nick
28 nov 2015 02:38:51
Tutte le risposte alla domanda 3
0
16

Allo stesso modo di qualsiasi altra funzione:

foo();

I plugin attivi vengono caricati prima dei file del tema

Potresti voler verificare che il tuo plugin sia attivato e che la funzione sia disponibile, in modo che le cose non vadano male se dimentichi di attivarlo, ad esempio:

if(function_exists('foo')){
    foo();
} else {
    echo "Oh no, non hai attivato/installato 'myplugin', fallo prima che la funzionalità 'foo' sia disponibile";
}

Tieni anche presente che foo è un nome di funzione molto generico, forse anche il plugin "omgfoo" ha una funzione foo. Quindi aggiungi un prefisso/namespace alla tua funzione per renderla unica

Alla fine vorrai utilizzare azioni e filtri, poiché sono più sicuri e rappresentano una pratica migliore, puoi continuare a leggere al riguardo qui

18 nov 2012 17:07:03
0

Non dovresti. Un tema non dovrebbe dipendere da un plugin se non in un ambiente molto controllato. Utilizza invece azioni e filtri.

Quindi nel tuo tema potresti usare:

do_action( 'before_header' );

… oppure …

$bg_options = array (
    'wp-head-callback' => 't5_custom_background_frontend',
    'default-color'    => 'f0f0f0',
    'default-image'    => '',
);
$bg_options = apply_filters( 't5_theme_bg_options', $bg_options );
add_theme_support( 'custom-background', $bg_options );
add_action( 'login_head', $bg_options['wp-head-callback'] );

Nel tuo plugin utilizza add_action() e add_filter() per modificare o aggiungere nuovi contenuti. In questo modo il tema continuerà a funzionare quando il plugin è stato disattivato e non dovrai usare function_exists().

18 nov 2012 23:59:52
0

I plugin attivi vengono caricati (tecnicamente - i loro file vengono inclusi ed elaborati da PHP durante il caricamento di WordPress) quando vengono eseguiti i template del tema.

Quindi la tua funzione dovrebbe essere disponibile e può essere chiamata come qualsiasi altra funzione:

<?php foo(); ?>

ad esempio.

18 nov 2012 17:05:38