我可能正在做一些愚蠢的事情。
但是我有以下工作代码,(这是代码的一小部分(但正在工作)),如果我在functions.php中有此代码,它可以正常工作,但是当我将其添加到自定义插件中时,它确实不是
function update_booklink_field( $post_id ) {
if( ! ( wp_is_post_revision( $post_id) || wp_is_post_autosave( $post_id ) ) ) {
update_post_meta( $post_id, 'prijstest', 'testvalue' );
}
}
add_action( 'save_post', 'update_booklink_field' );
这是我在插件中的代码,我明显缺少什么吗?还是在插件中触发函数时需要采取其他步骤?
<?php
/**
* Plugin Name: aaautofill
*/
function update_booklink_field( $post_id ) {
if( ! ( wp_is_post_revision( $post_id) || wp_is_post_autosave( $post_id ) ) ) {
update_post_meta( $post_id, 'prijstest', 'testvalue' );
}
}
add_action( 'save_post', 'update_booklink_field' );
?>
编辑:
到目前为止我发现了什么: 如果我移动
add_action('save_post','update_booklink_field');
到功能文件,然后它可以工作。 插件已激活,但是save_post仅在我的插件文件中不运行。我真的有0线索是什么原因造成的:/
编辑2:
基本上,该功能似乎没有问题,因为如果我更改加载时的位置(在fucntion.php中),它将正常工作。
这是否意味着它与事物加载的顺序有关? (还是我忽略了一些愚蠢的事情?)
编辑3,我发现它/使其正常工作 如果我将save_post行更改为:
add_action('save_post','update_booklink_field',50,50);
有效
答案 0 :(得分:0)
也许这可以解决问题:
<?php
/**
* Plugin Name: aaautofill
*/
function update_booklink_field( ) {
global $post;
if( ! ( wp_is_post_revision( $post->ID ) || wp_is_post_autosave( $post->ID ) ) ) {
update_post_meta( $post->ID, 'prijstest', 'testvalue' );
}
}
add_action( 'save_post', 'update_booklink_field' );
?>