Где поместить мои пользовательские функции в Wordpress? - PullRequest
2 голосов
/ 14 апреля 2011

Я вырываю волосы. Я создал несколько простых функций, которые генерируют случайные числа, взятые из базы данных, которые я хочу использовать на страницах WordPress. (И затем вызывайте их из файлов тем, таких как header.php или page.php.)

Я пытался поместить функции в functions.php, который находится в теме (согласно документации, которую я прочитал), но я продолжаю получать ошибки «вызова неопределенной функции»! Что в мире я делаю не так?

Пример. Вот функция внутри functions.php

function randomPollNumber() {
///this gets a random active poll number
    $sql12 = "SELECT id FROM poll WHERE removed = 0 AND active = 1 ORDER BY RAND() LIMIT 1";
    $result12 = mysql_query($sql12);
    $myrow12 = mysql_fetch_row($result12);
    $pollquestionid = $myrow12[0];
    return $pollquestionid;
}

И я звоню из файла header.php с этим

<?php echo randomPollNumber(); ?>

И да, я пытался использовать if_function_exists, но, конечно, он не может найти функцию, поэтому, конечно, он не существует. Пожалуйста, помогите?

1 Ответ

1 голос
/ 14 апреля 2011

Очень странно - несколько советов по отладке:

  1. Поместите оператор die ('файл functions.php загружен') в начало functions.php (не внутри функции). Если он не умирает, вы знаете, что файл не загружается.
  2. Если он умирает, проверьте правильность написания (скопируйте и вставьте имя функции из functions.php в ваш эхо [...]). Удивительно, сколько раз я уверен, что правильно написал, а на самом деле нет.
  3. Если он не умирает, убедитесь, что ваш файл определенно называется functions.php, что он определенно находится в нужной папке темы для темы, которую вы кодируете.
  4. Возможно, что файл functions.php содержит ошибку и поэтому не анализируется, поэтому Wordpress не может найти функцию. Проверьте свои журналы на наличие ошибок. Загрузите файл функций и ничего больше и убедитесь, что функция работает. Вы используете модуль PHP или что-то в этом роде?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...