Apelarea unei funcții din functions.php într-o pagină personalizată/articol blog
Este posibil să apelez o funcție din functions.php într-o pagină personalizată sau articol de blog?
Am pus o funcție simplă în functions.php:
function testTest()
{
echo "Test";
}
Și am apelat-o din pagină:
<?php testTest();?>
Dar nu funcționează. Am nevoie să creez un plugin pentru a utiliza o funcție simplă ca aceasta într-o pagină personalizată aleasă?
Mulțumesc pentru răspuns, Maria
Poți folosi add_shortcode dacă dorești să-l utilizezi în editor.
function footag_func() {
return "Test";
}
add_shortcode( 'footag', 'footag_func' );
Și apoi folosește [footag] în editorul tău.
Sau
Folosește codul următor în functions.php și adaugă o condiție
add_action( 'loop_start', 'your_function' );
function your_function() {
if ( is_singular('post') ) {
echo 'Test';
}
}
sau
Creează o funcție în functions.php
function your_function() {
return 'Test';
}
Și apoi folosește aceasta în template-ul tău
echo your_function();

Poți crea rapid un shortcode pentru a face acest lucru.
add_shortcode( 'test_shortcode', 'my_test_callback' );
Apoi, în funcția de callback faci asta:
function my_test_callback() {
//începe adăugarea conținutului afișat în bufferul de ieșire
ob_start();
//rulează codul tău aici - în acest caz, funcția testTest()
testTest();
//returnează bufferul de ieșire
//NOTĂ: afișarea directă a conținutului va avea rezultate neașteptate
return ob_get_clean();
}
Apoi, în paginile de conținut, adaugi pur și simplu [test_shortcode]
și va rula funcția ta PHP.
Pentru o înțelegere mai bună a shortcode-urilor, iată câteva link-uri utile:
Documentația oficială a Shortcode API
Un instrument util pentru crearea de shortcode-uri
Un articol pe care l-am scris despre cum să construiești shortcode-uri

Mulțumesc mult! O să verific asta. Am dat upvote, dar din păcate nu apare pentru că sunt un utilizator nou.

Salut @CornelRaiu - Există vreo modalitate de a crea un link normal pe frontend, care la click să ruleze funcția "test_shortcode" sau "my_test_callback()"?
