没有WordPress数据库的自定义单页


custom single page without wordpress database

嗨,我

正在创建一个网站,我正在尝试创建一个页面,其中的数据来自不同的数据库,与WordPress Database无关。

我创建了一个循环,它像WordPress一样显示许多帖子,但它不是来自WordPress帖子类型等,只是用简单的mysqli_query做。 现在对于该循环,我想创建一个单页显示,我可以像WordPress帖子一样显示完整的详细信息。

我创建此虚拟网址的示例:-http://example-website.com/handbuch-der-mechanischen-verfahrenstechnik/B009CCTW9M

现在" B009CCTW9M "是我将创建mysqli_query以显示单个帖子的id

但是当我到达该 URL 时WordPress显示404 Error因为它在WordPress Database中不存在。

我认为它需要通过mod_rewrite来完成,但我不是专家,请帮助我弄清楚。

对不起,伙计们不清楚的描述可能会对您有所帮助

我创建了一个mysqli_query来显示一些数据,就像WordPress使用" while (have_posts()) : the_post();

但不同的是,我的数据不是来自WordPress数据库结构。 因此,对于我显示的数据,我需要创建一个页面。 因此,我可以像WordPress单页一样显示其全部详细信息。 为此,我必须创建一些URL,但我不确定如何创建它,因此WordPress不会404 Error。 在该 URL 上,我希望这个 ID ' B009CCTW9M ' 以便我可以提取它并创建mysqli_query.

嗨,

很抱歉回答晚了,这是我的解决方案,帮助我希望这对其他人有所帮助。

function userpage_rewrite_catch() {
global $wp_query;
if ( array_key_exists( 'ebooks_id', $wp_query->query_vars ) ) {
            include WP_PLUGIN_DIR .'/'. plugin_basename( dirname(__FILE__) ) .'/single-ebook.php';
exit;
}
}
add_action( 'template_redirect', 'userpage_rewrite_catch' );
function userpage_rewrite() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_action('init','userpage_rewrite');

function ebook_plugin_activate() {
  products_plugin_rules();
  flush_rewrite_rules();
 }
 function ebook_plugin_deactivate() {
  flush_rewrite_rules();
 }
 function ebook_plugin_rules() {
  //add_rewrite_rule('ebook/?([^/]*)', 'index.php?pagename=ebook&ebook_id=$matches[1]', 'top');
      add_rewrite_rule( 'ebooks/([^/]+)/([^/]*)/([^/]*)', 'index.php?ebooks=$matches[1]&ebook_cat=$matches[2]&ebooks_id=$matches[3]', 'top' );
 }
 function ebook_plugin_query_vars($vars) {
   $vars[] = 'ebooks';   
  $vars[] = 'ebook_cat';
  $vars[] = 'ebooks_id';
  return $vars;
 }
 //register activation function
 register_activation_hook(__FILE__, 'ebook_plugin_activate');
 //register deactivation function
 register_deactivation_hook(__FILE__, 'ebook_plugin_deactivate');
 //add rewrite rules in case another plugin flushes rules
 add_action('init', 'ebook_plugin_rules');
 //add plugin query vars (product_id) to wordpress
 add_filter('query_vars', 'ebook_plugin_query_vars');