我必须在管理面板的帖子页中添加新的选项和功能。我在edit-form-advanced.php中调用了一个新函数,并在template.php文件中添加了该函数。问题是这样吗?因为我的功能与Wordpress中的功能在一个文件中。或者也许必须在其他文件中?但是我必须在哪里打电话呢? 对于wp-content部分,我知道并且将子主题设为父主题,但是当我必须在wp-admin部分中添加代码时,我不知道该怎么办。 例: edit-form-advanced.php
do_custom_boxes( null, $post );
和template.php
function do_custom_boxes( $screen, $object ) {
global $wpdb;
$appTable = $wpdb->prefix . "post_panel";
$query = $wpdb->prepare("SELECT * FROM $appTable WHERE post_id = ".$_GET['post']." ", $screen);
$applications = $wpdb->get_results($query);
......
}
答案 0 :(得分:3)
简短答案:是的,这样做是错误的。每当您更新WordPress时,您都会放弃所有更改。
WordPress允许您使用其代码,修改其行为和许多其他内容。
基本上,操作可让您在发生问题时触发功能。
例如:
<?php
function do_something_when_admin_pages_init() {
// Do something here
}
add_action('admin_init', 'do_something_when_admin_pages_init')
过滤器允许您修改其他功能的数据/输出。就像它让您进入中间,对数据进行处理然后继续。
来自WordPress页面的示例:
<?php
function wporg_filter_title($title) {
return 'The ' . $title . ' was filtered';
}
add_filter('the_title', 'wporg_filter_title');
这会在标题打印之前对其进行修改。
因此,通过这两种“钩住” WordPress代码的方式,您可以将代码编写到主题的functions.php文件中,或编写一个插件(由您决定)。