- Lesz Xperia 10 VII, méghozzá újratervezett külsővel
- Telekom mobilszolgáltatások
- Google Pixel 9 Pro XL - hét szűk esztendő
- Redmi Note 10S - egy a sok közül
- Xiaomi 15 - kicsi telefon nagy energiával
- Apple Watch
- Xiaomi Mi 11 Ultra - Circus Maximus
- Xiaomi 14 - párátlanul jó lehetne
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Samsung Galaxy S23 Ultra - non plus ultra
-
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
- Debrecen és környéke adok-veszek-beszélgetek
- Autós topik
- EAFC 25
- Kertészet, mezőgazdaság topik
- Chieftec játék értékes nyereményekkel!
- ASUS ROG Ally
- Gurulunk, WAZE?!
- Kerékpársportok
- gban: Ingyen kellene, de tegnapra
- Az előírások megszegése miatt éghet le egyes alaplapokon a Socket AM5 foglalat
- További aktív témák...
- Dell,14"FullHd IPS,core i5 6440H(fiz.4MAG!),8-16GB DDR4 RAM,Vil.bill,256-512GB SSD,Jó akku,szép
- HP 15.6 ",AMD A10,jó állapotú,magyar billentyűzet
- LG 27MK600M-B 27 IPS Full HD monitor eladó
- Dell Vostro 15,6" FullHd IPS,Magyar vil.bill,core i5,8-32GB RAM,240GB-1TB SSD,Új akku,Új töltő
- Makulátlan!Dell 15 GAMER core i7 (8X3,8Ghz)GTX 1060 6GB 192bit VGA,16-32GB/256SSD+1TBHDD,ÚJ AKKU!
- AKCIÓ! Apple Macbook PRO 15" 2018 i9 32GB 500GB notebook garanciával hibátlan működéssel
- Fujitsu LIFEBOOK E449 i5-8130U 12GB 512GB 14" FHD 1 év garancia
- EREDETI NINTENDO Pokemon Go Plus autocatcher dobozban eladó
- Surface Laptop 4 i7-1185G7 16GB 512GB magyarbill 1 év garancia
- Xiaomi Redmi 14C 128GB Kártyafüggetlen 1Év Garanciával
Állásajánlatok
Cég: FOTC
Város: Budapest