Intereting Posts
Карты Google Maps и Yandex не работают правильно Есть ли способ прочитать или перечислить содержимое wp_head ()? есть способ, посредством которого пользователь вводит содержимое в редакторе. элементы мультимедиа будут сохраняться с относительным путем Как отобразить comment_form с коротким кодом при удалении его из позиции по умолчанию? return paginate_comments_links () как массив Случайная загрузка ajax работает только с posts_per_page, установленным на -1 Пользовательская кнопка для редактирования галереи Доступ к подкаталогам в WordPress Install Последние сообщения на главной странице Когда я должен использовать API Transients? WordPress удалить подменю Использование WP Multisite для многоязычного сайта? Хороший вариант? Почему я вижу «истину» рядом с этими метками времени? Подсчитайте количество сообщений для каждой категории Как я могу позиционировать кнопки ShareThis вручную при использовании подключаемого модуля?

Ссылка на страницу администрирования второго уровня

Я создал плагин с меню администратора, в котором отображается список исполнителей, сохраненных в базе данных в пользовательской таблице. Эта страница является «главной» страницей, и я пытаюсь выяснить, как связать имя исполнителя со страницей «подробности», все в бэкэнд. Из кода и других книг я определил, что страницы второго уровня должны быть похожими на страницы верхнего уровня, так как это будет функция, отображающая содержимое. Я не могу понять, как мне «привязать» к этой функции обратного вызова.

Я добавляю страницу первого уровня с этим:

add_submenu_page('ppmtalentexpo', 'TARSTE II', 'TARSTE II', 'administrator', 'tarste2submenu2', 'jwg_talentexpo_options2_page'); 

и сравните первый уровень с этим:

 function jwg_talentexpo_options2_page() { global $wpdb; $cnt = 0; $rows = $wpdb->get_results("SELECT * from ppm_tarste2_bands ORDER BY band_name"); //echo '<pre>'; echo var_dump( $rows ); echo '</pre>'; $retHTML = "<div class='wrap trkr'><h2><div id='icon-upload' class='icon32'></div> PPM Talent Expo Administrator -- TARSTE II</h2><br><br>"; $retHTML .= "<table cellpadding='5' cellspacing='0' border='1' style='width:96%;margin:auto;'>"; $retHTML .= "<tr><td colspan='4'>" . count($rows) . " registered.</td></tr>"; for( $c = 0; $c<count($rows);$c++ ) : $retHTML .= "<tr>"; $retHTML .= "<td><span style='font:bold 16px sans-serif;color:#F87114;'><a href='#'>" . $rows[$c]->band_name . "</a></span>"; $retHTML .= "<br><b>Contact: " . $rows[$c]->band_contact_person . "</b></td>"; $retHTML .= "<td><a href='mailto:" . $rows[$c]->band_email . "'>EMAIL</a>"; if( $rows[$c]->band_url != '' && $rows[$c]->band_url != 'n/a' ){ $retHTML .= " | <a target='_blank' href='" . $rows[$c]->band_url . "'>WEB</a></td>"; } else { $retHTML .= "</td>"; } // end if $retHTML .= "<td>" . formatPhone($rows[$c]->band_contact_phone) . "</td>"; $retHTML .= "<td>"; switch( (int) $rows[$c]->status ){ case 1: $retHTML .= "Registered"; break; case 2: $retHTML .= "Selected"; break; case 3: $retHTML .= "Face-Off"; break; case 4: $retHTML .= "Winner"; break; } // end switch $retHTML .= "</td>"; $retHTML .= "</tr>"; endfor; $retHTML .= "</table>"; $resHTML .= "</div>"; echo $retHTML; } // end function 

Итак, в цикле for я пытаюсь установить ссылку на страницу сведений каждого зарегистрированного исполнителя во второй строке $ retHTML с привязным тегом. Мой план – создать функцию для отображения деталей этого исполнителя. Опять же, что я помещаю в якорный тег OR, есть ли лучший способ сделать то, что я пытаюсь сделать?

Заранее благодарим за любое руководство или помощь, предоставленную Джоном

Solutions Collecting From Web of "Ссылка на страницу администрирования второго уровня"

Функция add_submenu_page позволяет вам ссылаться на функцию обратного вызова и ее функцию обратного вызова, которая обрабатывает отображение содержимого этих страниц.

 add_submenu_page( $parent_slug, //The slug name for the parent menu ie ppmtalentexpo $page_title, $menu_title, $capability, $menu_slug, $callback_function //your callback ie jwg_talentexpo_options2_page ); 

До сих пор то, что у вас есть, выглядит правильно, предполагая, что все ваши аргументы верны.

Вместо того, чтобы создавать пользовательскую таблицу, вы, вероятно, можете избежать использования настраиваемого типа сообщений для обработки ваших «полос».

Тогда все детали вроде,

 band_contact_person band_email band_url 

… может быть post_meta связанная с вашими типами групп сообщений.

Это сделало бы запрос данных намного проще для вас со встроенными функциями WordPress API, такими как WP_Query и get_post_meta .

Поскольку сейчас он стоит, вы можете очень хорошо перечислить все имена групп,

 $retHTML .= "<td><span style='font:bold 16px sans-serif;color:#F87114;'><a href='#'>" . $rows[$c]->band_name . "</a></span>"; 

Но тогда вопрос, который я должен задать вам, это то, что указывает на это $rows[$c]->band_name ? Нет, где. Вот где.

Если вам не удобно создавать пользовательские таблицы, а также данные, чтобы идти вместе с ним, то вы делаете жизнь для себя прямо из ворот.

Вместо этого вы должны использовать встроенные настраиваемые типы сообщений, а также автоматическую обработку URL / permalink, которая вместе с ним.

  1. До сих пор это имеет смысл?
  2. Знаете ли вы о пользовательских типах сообщений?
  3. Какова ваша цель для этой пользовательской таблицы вместо использования пользовательских типов сообщений?

Рад помочь, но сначала проясним эти моменты … Просто мы все на одной странице.

Обновить

Основываясь на ваших дополнительных комментариях, я могу видеть, откуда вы пришли. Хотя Laravel и CI хороши во внешних приложениях, их внедрение в среду WordPress (хотя и вполне возможно) не рекомендуется, если у вас нет специального варианта использования, где ничего, кроме этого, не будет сделано.

WordPress испепеляет многие функциональные возможности, которые вы ищете, фактически, все это в простом интерфейсе API, который абстрагирует большую часть тяжелой работы и предотвращает необходимость повторного создания колеса.

Так что, чтобы выгнать вас, познакомиться с …

  • Пользовательские типы сообщений

  • WP_Query

  • Настраиваемые поля

  • add_meta_box для «более красивых » настраиваемых полей