Artur C.

Artur C. .unknown

Temat: Kasowanie wcześniej wprowadzonej wartości

Powitać Panie i Panów.. Fanki i Fanów!

Dodałem dodatkowe okno o nazwie "Miasto", które jest widoczne pod każdym wpisem. W pole to wpisuje sobie miasto, które dotyczy danego wpisu.

1. Jak przy dodawaniu wpisu nie uzupełnię tego pola to nie pokazuje się miasto, kiedy wpis zostanie dodany - i tak ma być
2. Jak dodam przy dodawaniu wpisu miasto, to po opublikowaniu wpisu miasto jest widoczne - i tak ma być
3. Tutaj pojawia się problem. Kiedy dodam miasto i je opublikuje, a później stwierdzę, że jednak chce usunąć to miasto poprzez edytuj i ręcznie kasuje to miasto i aktualizuje wpis to miasto nie chce mi się skasować.

Kod tego zabiegu pokazuje poniżej:


// plik, który wyswietlany jest w wordpressie


<?php $custom = get_post_custom($post->ID);

$et_miasto = isset($custom["et_miasto"][0]) ? $custom["et_miasto"][0] : '';

?>



<div class="miasto">
<?php if ($et_miasto <> '') { ?>

<?php _e('Miasto:'); ?> <?php echo $et_miasto; ?>

<?php } ?>
</div>



// opcje wyświetlane przy dodawaniu wpisu


function et_post_meta($callback_args) {
global $post;

$et_miasto = isset($custom["et_miasto"][0]) ? $custom["et_miasto"][0] : '';

}

<p style="margin-bottom: 22px;">
<label for="et_miasto">Miasto:</label>
<input name="et_miasto" id="et_miasto" type="text" value="<?php echo $et_miasto; ?>" size="30" />
<small>(np. Warszawa)</small>
</p>


function save_details($post_id){
global $post;

if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
return $post_id;
if (isset($_POST["et_miasto"]) && $_POST["et_miasto"] <> '') update_post_meta($post->ID, "et_miasto", $_POST["et_miasto"]);
}


Co z tym fantem zrobić? Jakaś pomocna wskazówka?
Konrad Karpieszuk

Konrad Karpieszuk WordPress Plugin
Compatibility
Assurance for WPML

Temat: Kasowanie wcześniej wprowadzonej wartości


if (isset($_POST["et_miasto"]) && $_POST["et_miasto"] <> '') update_post_meta($post->ID, "et_miasto", $_POST["et_miasto"]);
}


zmien na:


if (isset($_POST["et_miasto"]) && $_POST["et_miasto"] <> '') update_post_meta($post->ID, "et_miasto", $_POST["et_miasto"]);
if ($_POST["et_miasto"] == '')
delete_post_meta($post->ID, "et_miasto");
}
Konrad Karpieszuk edytował(a) ten post dnia 18.07.12 o godzinie 19:05
Artur C.

Artur C. .unknown

Temat: Kasowanie wcześniej wprowadzonej wartości

Idealnie :) Dzięki Konradzie!



Wyślij zaproszenie do