为自定义数据库表记录创建single.php模板

时间:2017-11-22 05:50:09

标签: php wordpress

是否可以制作用于显示自定义数据库表数据的single.php模板?就像我们有一个single.php作为每个帖子的详细页面。因此,用户将看到页面模板offers.php上的所有条目。当他点击优惠详情链接时,将打开一个新页面,其中包含有关优惠的所有详细信息。

(更新)

2 个答案:

答案 0 :(得分:1)

  1. 如果确实需要使用自定义表格。没问题。

  2. 创建Custom Post Type,如果不想在管理菜单中显示该帖子类型,则可以将其隐藏起来。

  3. 将帖子与插入表格分开保存时,只需使用之前创建的自定义帖子类型创建新帖子。使用wp_inset_post创建Wp帖子。 wp_insert_post

  4. 现在,自定义表中的记录和WP帖子表中的帖子。创建一个名为" custom_linked_id"的post_meta;或者您可能喜欢的任何内容,并将自定义表插入的ID更新到WP POST。

  5.   

    update_post_meta($ WP_POST_ID,' custom_linked_id',   $ CUSTOM_TABLE_INSERT_ID);

    1. 现在为新的自定义帖子类型创建单页。页面名称结构是单{cpt} .php。默认情况下,您将在此处获得单个帖子。

    2. 在循环内部通过调用post_meta获取相关的自定义ID。所以示例代码就像,

    3.   

      $ custom_id = get_post_meta(get_the_id(),' custom_linked_id',true);

      1. 现在使用该ID,您可以从自定义表中获取所有数据。
      2. 注意

        自定义表格中使用的列可以存储为元值,非常容易实现和有效。

        希望有所帮助。

答案 1 :(得分:0)

对于自定义路线。安装名为WP Route.的插件进入你的主题文件夹,在那里你可以找到各种静态php文件,如404.php,header.php等。在那里创建package.php。在同一文件夹中打开带有functions.php的fav编辑器,然后输入以下内容:

function create_routes( $router ) {
$router->add_route('package', array(
'path' => 'mobile-packages/package/xyz-data-package',
'access_callback' => true,
'page_callback' => 'updatefunction'
));

 }
add_action( 'wp_router_generate_routes', 'create_routes' );

function updatefunction() {

load_template(get_template_directory() . '/package.php', true );
exit();
}

在同一文件夹中打开404.php文件,并将get_header()get_footer()等主题设置复制到package.php

如果有任何遗漏,请告诉我。