Hirdetés
- Apple iPhone Air - almacsutka
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Redmi Note 12 Pro - nem tolták túl
- Amazfit GTS 4 Mini - bármely csuklóra
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Nothing Phone (2) - több, mint elsőre látszik
- Google Pixel topik
- Könyvmoly lehet a Samsung következő hajlíthatójából
- Samsung Galaxy S25 - végre van kicsi!
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
-
Mobilarena
WordPress tartalom kezelő rendszer (CMS) topik
Új hozzászólás Aktív témák
-
trisztan94
őstag
Újabb WP plugin fejlesztős kérdésem lenne. Végül rájöttem, hogy a legjobb egy custom post type készítése csak egy title beírási capability-vel, mert az már alapból tudja a hozzáadás és törlést.
Ezeket a hookokat adtam hozzá:
// Action hook to intercept Wordpress' default post saving function and redirect to ours
add_action('save_post', 'zip_code_save');
$validator = new Validator();
// Called after the redirect
add_action('admin_head-post.php', array($validator, 'add_plugin_notice'));zip_code_save fügvény:
public function zip_code_save() {
global $post;
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
if (isset($_POST['post_type']) && $_POST['post_type'] == 'zip_code') {
$validator = new Validator();
if (!$validator->validate(get_the_title($post->ID))) {
$validator->update_option(1);
return false;
} else {
update_post_meta(
$post->ID,
'zip_code', get_the_title($post->ID));
}
}
}Validator osztály:
class Validator {
//This for your your admin_notices hook
function show_error() {
echo '<div class="error">
<p>The ZIP Code entered is not valid. <b>Note</b>: only US ZIP codes are accepted.</p>
</div>';
}
//update option when admin_notices is needed or not
function update_option($val) {
update_option('display_my_admin_message', $val);
}
//function to use for your admin notice
function add_plugin_notice() {
if (get_option('display_my_admin_message') == 1) {
// check whether to display the message
add_action('admin_notices', array(&$this, 'show_error'));
// turn off the message
update_option('display_my_admin_message', 0);
}
}
function validate($input) {
$zip = (isset($input) && !empty($input)) ? sanitize_text_field($input) : '';
if ( !preg_match( '/(^\d{5}$)|(^\d{5}-\d{4}$)/', $zip ) ) {
return false;
} else {
return true;
}
}
}Ez azt csinálja, hogy ha helytelen a beírt kód, akkor kiírja szépen a hibaüzenetet, azonban attól függetlenül ugyanúgy publikálja. Tehát a probléma az, hogy validációtól függetlenül publikálja a postot.
Valakinek ötlet?
Köszi!
Új hozzászólás Aktív témák
- Eladó gamer pc, intel i7, GTX 1080 TI
- SAPPHIRE PULSE AMD Radeon RX 9070 XT GAMING 16G (2028.10.02-ig Alza garancia)
- iPad MINI 7 (2024) 128GB WIFI + 5G Cellular kék KÁRTYAFÜGGETLEN! 2028 szeptemberig Apple garancia!
- Dell 27 4K USB-C Hub Monitor - P2723QE - Garanciával
- ÚJ, bontatlan Apple Watch ULTRA 3 49mm fekete titántok/fekete óceánszíj! 1 év Apple garancia!
- Bomba ár! HP ProBook 450 G1 - i3-4GEN I 4GB I 500GB I HDMI I 15,6" HD I Cam I W10 I Garancia!
- BESZÁMÍTÁS! ASUS H510M i7 11700 16GB DDR4 500GB SSD RTX 3060 Ti OC 8GB Zalman Z1 PLUS ADATA 600W
- LG 77C4 - 77" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - 1000 Nits
- LG 25GR75FG - E-Sport Monitor - FHD 360Hz 1ms - NVIDIA Reflex + G-sync - AMD FreeSync - HDR 400
- ÁRGARANCIA!Épített KomPhone i9 14900KF 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest



