通过插件覆盖当前主题文件

时间:2017-09-28 作者:Faruk

我正在创建一个简单的404重定向插件。我想要主题404。激活插件时要覆盖的php文件。有一个404。php页面中的插件文件。文件路径:plugins/myplugin/files/404。php

如何覆盖404。php文件中的主题文件带有404。插件文件夹中的php(当我激活插件时)。

我刚刚创建了插件并激活了它。所有代码均在此处:

function my_redicert_plugin() {
global $wpdb;

$table_namex = $wpdb->prefix . \'redirect_p\';

$charset_collatex = $wpdb->get_charset_collate();

$sqlx = "CREATE TABLE $table_namex  (
    `id` mediumint(9) NOT NULL AUTO_INCREMENT,
    `mytext` longtext NOT NULL,
    `okbutton` longtext NOT NULL,
    UNIQUE KEY id (id)
    );";

require_once( ABSPATH . \'wp-admin/includes/upgrade.php\' );
dbDelta( $sqlx ); 
}


register_activation_hook( __FILE__, \'my_redicert_plugin\' );


add_action(\'admin_menu\', \'ds_menux\');

function ds_menux() {
    add_menu_page(\'404 Redirect\', \'404 Redirect\', \'administrator\', \'my-redirect-plugin\', \'my_r_plugin\', \'dashicons-admin-generic\'); 
}
(对不起,我的英语。)

1 个回复
SO网友:Rarst

模板逻辑主要由template-loader.php.

你感兴趣的部分是get_404_template(), 传递到泛型get_query_template() 具有多个钩子来覆盖逻辑和结果。

{$type}_template (so)404_template) 过滤器可能会做到这一点。

结束

相关推荐

Virtual Pages plugins

我很难让插件正常工作Virtual Pages (WordPress插件可简化虚拟页面的创建)我确实进行了编辑,根据查询创建了一个循环。add_action( \'gm_virtual_pages\', function( $controller ) { /* Creating virtuals pages for companies */ $args = array( \'post_type\' => array(\'companies\',), \'post_status\'