ich in einem Wordpress das folgende Filter haben Plugin an der Spitze des Plugin namens 'Jobboard-Paket' genannteinen Filter in Plugin Wordpress Überschreibung
function apply_job_validate($validate){
$package = jb_package_get_current_package();
if(!$package){
jb_notice_add(esc_html__('You need to purchase a package before applying job.', 'jobboard-package'), 'error');
return true;
}
$applied = JB()->candidate->count_applied_all();
$limit = get_post_meta($package->ID, '_apply', true);
if($applied >= $limit){
jb_notice_add(esc_html__('Apply job limited, you can update your package.', 'jobboard-package'), 'error');
return true;
}
return $validate;
}
wie folgt sind:
private function actions(){
add_action('wp_enqueue_scripts', array($this, 'add_scripts'));
add_action('admin_menu', array ($this, 'get_menu_notice') , 100);
add_action('admin_enqueue_scripts', array($this, 'add_admin_scripts'));
add_action('save_post_jobboard-post-jobs', array($this, 'save_post'));
add_filter('jobboard_query_endpoint_args', array($this, 'add_endpoint'));
add_filter('jobboard_query_endpoint_package_title', array($this, 'add_endpoint_package_title'));
add_filter('jobboard_query_endpoint_transactions_title', array($this, 'add_endpoint_transactions_title'));
add_filter('jobboard_employer_navigation_args', array($this, 'add_endpoint_menu'));
add_filter('jobboard_candidate_navigation_args', array($this, 'add_endpoint_menu'));
add_action('jobboard_endpoint_employer_new', array($this, 'get_template_add_new'), 0);
add_action('jobboard_endpoint_employer_package', array($this, 'get_template_package'));
add_action('jobboard_endpoint_candidate_package', array($this, 'get_template_package'));
add_filter('jobboard_form_handler_validate_add_job', array($this, 'add_new_job_validate'));
add_filter('jobboard_form_handler_validate_apply_job', array($this, 'apply_job_validate'));
}
I habe versucht, apply_job_validate über die functions.php und als Plugin mit dem folgenden Code und seinen Varianten ohne Glück zu deaktivieren und würde mich über Hilfe freuen.
if(class_exists('JB_Package')){
//This should work in whatever case
remove_filter('jobboard_form_handler_validate_apply_job', array('JB_Package', 'apply_job_validate'));
//or Instantiating a new instance
//remove_filter('jobboard_form_handler_validate_apply_job', array(new JB_Package(), 'apply_job_validate'));
//or Targeting the specific instance, not tested
//remove_filter('jobboard_form_handler_validate_apply_job', array(JB_Package::get_instance(), 'apply_job_validate'));
}
Ich habe versucht, es auch wie folgt:
function remove_package() {
if (class_exists('JB_Package')) {
remove_filter('jobboard_form_handler_validate_apply_job', array('JB_Package', 'apply_job_validate'));
}
}
add_action('plugins_loaded','remove_package');
Jede Hilfe würde geschätzt. Danke vielmals!
Danke, das hat funktioniert. Hast du Ratschläge, wie du überprüfen kannst, ob die Klasse gehakt ist? Ich bin immer noch neu mit Haken, aber verstehe, dass es der bessere Weg ist, Dinge zu tun. – Cozmoz
Es funktioniert immer noch, wenn es mit wp_loaded verwendet wird. – Cozmoz
Ich habe versucht, mehr wie folgt zu entfernen, aber es scheint nicht für den Rest zu funktionieren https://anotepad.com/notes/csi3as – Cozmoz