Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

Metabox i WordPress til et specifikt side id ? - Hjælp

Side 1 ud af 1 (6 indlæg)
  • 1
Tilmeldt 20. Apr 07
Indlæg ialt: 16014
30% af profil udfyldt
Skrevet kl. 14:30
Hvor mange stjerner giver du? :

Hej,

Jeg er igang med at lave en presse/media side for daaseringe.dk 

I min funcitions.php har jeg dette stykke kode:

add_action('add_meta_boxes', 'add_press_source_metabox');

function add_press_source_metabox() {
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;

// checks for post/page ID
if ($post_id == '9')
{
add_meta_box( 'press_source_metabox', 'Presse', 'inner_press_source_metabox', 'Presse' );

}
}

function inner_press_source_metabox() {

// Nonce for verification
wp_nonce_field( plugin_basename(__FILE__), 'press_source_nonce' );

global $post_id;

echo '
<p><strong>Dato:</strong></p>
<label for="press_source_date" class="screen-reader-text">Navn</label>
<input type="text" name="press_source_date" id="press_source_date" value="'.get_post_meta($post_id, 'press_source_date', true).'" style="width: 99%;" />

<p><strong>Kilde:</strong></p>
<label for="press_source_name" class="screen-reader-text">Kilde:</label>
<input type="text" name="press_source_name" id="press_source_name" value="'.get_post_meta($post_id, 'press_source_name', true).'" style="width: 99%;" />

<p><strong>URL:</strong></p>
<label for="press_source_url" class="screen-reader-text">URL:</label>
';

}

add_action('save_post', 'press_source_save');

function press_source_save( $post_id ) {

// verify this came from the our screen and with proper authorization,
if ( !wp_verify_nonce( $_POST['press_source_nonce'], plugin_basename(__FILE__) )) {
return $post_id;
}

// verify if this is an auto save routine. If it is our form has not been submitted, so we dont want to do anything
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) {
return $post_id;
}

// Check permissions
if ( 'Presse' == $_POST['post_type'] ) {
if ( !current_user_can( 'edit_post', $post_id ) ) {
return $post_id;
}
}

update_post_meta( $post_id, 'press_source_date', $_POST['press_source_date']);
update_post_meta( $post_id, 'press_source_name', $_POST['press_source_name']);
update_post_meta( $post_id, 'press_source_url', $_POST['press_source_url']);

} Men i WP-admin vises metaboxen ikke - og der kommer ingen fejl.
- Hvad gør jeg forkert ? 

 På forhånd tak

Venlig hilsen
Nils 

Fra København
Tilmeldt 1. Jun 06
Indlæg ialt: 6114
Fra  Mikjaer Consulting ApS Skrevet kl. 15:22
Hvor mange stjerner giver du? :

Jeg ville tjekke at $post_id i din if-sætning faktisk indeholder det du tror den gør .. hvis den ikke gør det, hvilket jeg formoder er tilfældet, så prøv:

global $post;

if ($post->ID == '9')

Tilmeldt 20. Apr 07
Indlæg ialt: 16014
30% af profil udfyldt
Skrevet kl. 16:01
Hvor mange stjerner giver du? :

Hej Mikkel,

Tak for svar.

Har prøvet at tjekke op post->ID - uden held Sad

Fra København
Tilmeldt 1. Jun 06
Indlæg ialt: 6114
Fra  Mikjaer Consulting ApS Skrevet kl. 16:10
Hvor mange stjerner giver du? :

og du har husket global $post ?

Tilmeldt 20. Apr 07
Indlæg ialt: 16014
30% af profil udfyldt
Skrevet kl. 16:11
Hvor mange stjerner giver du? :
add_action('add_meta_boxes', 'add_press_source_metabox');

function add_press_source_metabox() {
$post = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;

// checks for post/page ID
global $post;

if ($post->ID == '9')
{
add_meta_box( 'press_source_metabox', 'Presse', 'inner_press_source_metabox', 'Presse' );

}
}
Tilmeldt 20. Apr 07
Indlæg ialt: 16014
30% af profil udfyldt
Skrevet kl. 16:56
Hvor mange stjerner giver du? :

Har fundet løsningen.

Post-type var sat til Presse, den skulle jo naturligvis være 'page

if ($post->ID == '9')

{

add_meta_box( 'press_source_metabox', 'Presse', 'inner_press_source_metabox', 'page' );

}

Side 1 ud af 1 (6 indlæg)