Pages from custom table

时间:2019-08-15 作者:napalias

我在wordpress数据库中有自定义表“catalog”:

id|name|description|slug|price
我有模板文件“catalog”和页面“catalog”,其中显示了目录表中的所有项目。但是,如何将此列表中的单个项目显示为页面?

领域开发/目录/(此部件工作)域。dev/catalog/my single item页面(我不知道如何使其工作)

如何使用“我的单个项目页面”作为动态变量?

slug=“我的单个项目页面”;

我的函数中有这个片段。php文件

    function add_query_vars_catalog_item_filter( $vars ) {
        $vars[] = "catalog_item";
        return $vars;
    }
    add_filter( \'query_vars\', \'add_query_vars_catalog_item_filter\' );

    function catalog_rewrite() {
        add_rewrite_rule(\'^catalog/([\\w-]+)/?\', \'index.php?pagename=catalog&catalog_item=$matches[1]\', \'top\');
    }
    add_action(\'init\', \'catalog_rewrite\');
但当我进入域名时。开发/目录/我的一些项目我得到404页

我使用这个自定义表是因为我生成表单CSV。将来,重新生成数据会更简单

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

Your code worked absolutely fine for me, so I suspected you forgot to flush the rewrite rules.

每次添加更改WordPress重写规则的代码后,例如:。add_rewrite_rule() 或在启用URL重写的情况下注册/取消注册CPT或自定义分类法的代码,您应该始终刷新重写规则,这意味着WordPress将清空/重置保存的重写规则(在数据库和.htaccess 并重新生成(并重新保存)它们,其中将包括您新添加或更新的重写规则。

如何刷新重写规则:只需访问设置→永久链接设置页面。无需点击“保存更改”按钮

还有一种编程方式(请参见flush_rewrite_rules()), 但一般来说,上述技巧是首选方法,除非您编写插件,例如,在插件激活和停用期间调用函数。

相关推荐

Templates and meta

我想将CPT中的一些自定义字段传递给帖子。我有一些代码,但我不知道如何“集成”它。我正在WP模板中做一些事情(这不是我的,这是主要问题)。Code 我有这个single-job.php, 这是-从单个复制。php—CPT的post模板。<?php /** * Job Post */ if( defined(\'FW\') ) : $elements = jevelin_option( \'post_elements\' ); if(