Cum să creezi o pagină script PHP personalizată
Încerc să execut un script PHP care este localizat în directorul principal al WordPress-ului.
De exemplu run.php
<?php echo 'eu rulez'; ?>
Vreau să rulez această pagină în URL-ul mysite.com/run.php
dar îmi afișează eroarea 404 not found, chiar dacă run.php
este localizat la acea adresă.
Ce fac greșit?

Dacă doriți să adăugați o pagină personalizată în WordPress, trebuie să adăugați fișierul PHP personalizat în tema activată în prezent ( /wp-content/themes/ ).
Să presupunem că aveți un child-theme. Plasați fișierul în folderul child-theme. Apoi accesați secțiunea de pagini și faceți clic pe Adaugă nou.
În Atributele paginii, alegeți Șablonul ca fișierul PHP.
Deschideți fișierul Page.php, care este disponibil în folderul temei. Copiați totul, cu excepția header-ului, și lipiți în fișierul PHP. Fișierul PHP trebuie să conțină următoarele coduri:
<?php /* Template Name: CustomPageT1 */ ?>
<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
// Start the loop.
while ( have_posts() ) : the_post();
// Include the page content template.
get_template_part( 'template-parts/content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
// End of the loop.
endwhile;
?>
</main><!-- .site-main -->
<?php get_sidebar( 'content-bottom' ); ?>
</div><!-- .content-area -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Localizați fișierul în directorul temei dumneavoastră.
În cazul în care cineva dorește să ruleze un script PHP care accesează funcțiile WordPress, este necesar să includem fișierul wp-load.php
așa cum este descris aici.
Iată un exemplu de cod pentru a începe:
<?php
// obține calea către wp-load.php din scriptul curent
$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] );
require_once( $parse_uri[0] . 'wp-load.php' );
$current_user = wp_get_current_user();
if ( 0 == $current_user->ID )
echo "Salut, utilizator nelogat";
elseif (!in_array('administrator', $current_user->roles))
echo "Salut, utilizator";
else
echo "Salut, administrator";
?>

Răspunsurile pe care le-ai primit sunt OK, dar dacă chiar vrei să folosești un fișier PHP personalizat în rădăcina instalării WordPress (pentru o pagină specială, API sau altceva) fără a utiliza un șablon standard sau un fișier AJAX, atunci ai nevoie de asta:
<?php
/*
* Acesta este fișierul tău PHP personalizat, folosește-l pentru orice vrei.
*/
/* Dezactivează tema WordPress pentru acest fișier (opțional) */
define('WP_USE_THEMES', false);
/** Inițializează mediul WordPress. */
require __DIR__ . '/wp-load.php';
/* ====================================
PUNE ORICE COD PHP DOREȘTI AICI
======================================= */
În general, prin apelarea wp-load.php
încarci un nucleu complet WordPress în acel fișier PHP. Singurul lucru rămas este să îl controlezi și atât.
