Cum să apelezi o funcție dintr-un plugin din index.php

18 nov. 2012, 17:02:12
Vizualizări: 36.9K
Voturi: 9

Am creat o funcție în plugin-ul meu myplugin cu numele foo, cum pot să o apelez din frontend?

// exemplu în index.php?
3
Comentarii

hmmm, o rată de acceptare de 25% este destul de mică

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

Cum să apelezi o funcție PHP într-un fișier PHP este o întrebare legată de PHP, nu de WordPress.

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

este literalmente o întrebare despre plugin-uri WordPress @ChipBennett ....

nick nick
28 nov. 2015 02:38:51
Toate răspunsurile la întrebare 3
0
16

La fel cum ai face cu oricare altul:

foo();

Pluginurile active sunt încărcate înaintea fișierelor temei

Poate dorești să verifici dacă pluginul tău este activat și funcția este disponibilă pentru a evita probleme dacă uiți să-l activezi, de exemplu:

if(function_exists('foo')){
    foo();
} else {
    echo "oh nu, nu ai activat/instalat 'myplugin', fă asta înainte ca funcționalitatea 'foo' să fie disponibilă";
}

De asemenea, reține că foo este un nume de funcție foarte generic, poate că pluginul "omgfoo" are și el o funcție foo. Așadar, prefixează sau folosește un namespace unic pentru funcția ta

În cele din urmă, vei dori să utilizezi acțiuni și filtre, deoarece sunt mai sigure și o practică mai bună, poți continua să citești despre asta aici

18 nov. 2012 17:07:03
0

Nu ar trebui. O temă nu ar trebui să depindă de un plugin decât într-un mediu foarte controlat. Folosește în schimb acțiuni și filtre.

Deci, în tema ta ai putea folosi:

do_action( 'before_header' );

... sau ...

$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'] );

În plugin-ul tău folosești add_action() și add_filter() pentru a modifica sau adăuga conținut nou. În acest fel, tema va continua să funcționeze când plugin-ul este dezactivat și nu trebuie să folosești function_exists().

18 nov. 2012 23:59:52
0

Pluginurile active sunt încărcate (din punct de vedere tehnic - fișierele lor sunt incluse și procesate de PHP în timpul încărcării WordPress) până când rulează șabloanele temei.

Deci funcția ta ar trebui să fie disponibilă și poate fi apelată ca orice altă funcție:

<?php foo(); ?>

de exemplu.

18 nov. 2012 17:05:38