Je sais qu'il existe d'autres moyens, peut-être meilleurs, de faire ce que je veux réaliser, mais je dois utiliser cette solution.
J'ai deux stylesheets:
style.css
- feuille de style normalestyle-dynamic.php
- feuille de style dynamique liée au premierJ'utilise du code PHP dans le second, comme:
#body {
background-color: <?php echo get_option('theme_background'); ?>;
}
Le problème est que le fichier style-dynamic.php
ne fonctionne pasknow/ WordPress, et que le code ci-dessus donne:
Erreur fatale: Appel à la fonction non définie
get_option()
dans C:\xampp\htdocs\wordpress\wp-content\themes\mytheme\style-dynamic.php en ligne 12
Je suppose que je dois charger wp_load.php
(seulement?) Et c'est délicat, car je ne sais pas comment exactement? J'essayais require_once
, mais je ne suis pas sûr de pouvoir passer directement du répertoire theme au répertoire principal WordPress où le fichier wp-load.php
est?
Modifier
Bien sûr
require_once(ABSPATH . 'wp-load.php');
Émet une autre erreur:
Utilisation de la constante non définie
ABSPATH
- supposée'ABSPATH'
Bon sang, encore une fois, je me suis battu avec quelque chose pendant quelques jours et j'ai trouvé une solution 20 minutes après avoir demandé à StackExchange. POURQUOI?
require_once('../../../wp-load.php');
J'espère que mieux vaut tard que jamais; Au cas où la solution ci-dessus (par Wordpressor) ne fonctionnerait pas, vous pouvez charger wp-load.php comme ceci:
// allow us to use core wordpress functions
$oldURL = dirname(__FILE__);
$newURL = str_replace(DIRECTORY_SEPARATOR . 'wp-content' . DIRECTORY_SEPARATOR . 'themes' . DIRECTORY_SEPARATOR . 'THEME_NAME' . DIRECTORY_SEPARATOR . 'assets', '', $oldURL);
include($newURL . DIRECTORY_SEPARATOR . 'wp-load.php');
Assurez-vous de remplacer THEME_NAME par le nom de votre thème.