2012-06-15 4 views
1

나는 wordpress에서 맞춤 메타 박스를 사용하려고합니다. 현재로서는 특정 콘텐츠를 켜기위한 스위치로 사용할 수있는 확인란이있는 메타 상자를 만드는 것이 내 목표입니다. 난 작품을 함께 조각을 시도하는 웹을 샅샅이 조사하고 지금까지 내가 확인란을 사용하여 메타 상자를 생성 할 수있는 곳까지 충분히 얻었지만, 점검 된 값은 일부 루프를 수행하지 않습니다. 이유. 배열을 출력하여 아무 것도 얻을 수 없는지 확인하려고하면 배열이 비어 있습니다. 나는 많은 것들을 살펴 보았고 몇몇 메타 박스 생성 스크립트를 시도했지만, 그들 중 어떤 것도 작동시키지 못합니다. 이 방법이 가장 유망한 것으로 보였지만 지금은 붙어 있습니다. 내가 여기서 빠뜨린 중요한 것이있어? 마치 데이터가 저장되지 않는 것입니다. 아래에 코드가 포함되어 있습니다 :어떻게 wordpress 메타 박스의 체크 박스 값을 사용합니까?

메타 박스 기능. functions.php에 있습니다 :

// Checkbox Meta 
add_action("admin_init", "checkbox_init"); 

function checkbox_init(){ 
add_meta_box("checkbox", "Checkbox", "checkbox", "post", "normal", "high"); 
} 

function checkbox(){ 
global $post; 
$custom = get_post_custom($post->ID); 
$field_id = $custom["field_id"][0]; 

echo '<label>Check for yes</label>'; 
$field_id_value = get_post_meta($post->ID, 'field_id', true); 
if($field_id_value == "yes") { 
    $field_id_checked = 'checked="checked"'; 
} 
echo ' <input type="checkbox" name="field_id" value="yes" '.$field_id_checked.' />'; 
} 

// Save Meta Details 
add_action('save_post', 'save_details'); 

function save_details(){ 
    global $post; 

    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { 
    return $post->ID; 
    } 

update_post_meta($post->ID, "field_id", $_POST["field_id"]); 
} 

체크 박스가 선택되었을 때 내용을 출력하는 데 사용되는 코드입니다. 이것은 functions.php에도 있습니다. 이 함수는 루프에서 사용됩니다.

function custom_content($id) { 
    $field_id = get_post_meta($id, 'field_id', true); 

    if($field_id == yes) { 
     echo "It works!"; 
    } 
    else{ 
     echo 'Not working...'; 
    } 
} 

그리고 템플릿에 functions.php에 함수

function custom_content() { 
    if(isset($_POST['field_id']) && $_POST['field_id'] == 'yes') { 
     echo "It works!"; 
    } 
} 

답변

2

변화는 FF와 같은 루프 내에서 호출 :

custom_content(get_the_ID()); 
+0

오 와우, 감사이의 톤. 너는 내가이 일을하기 위해 노예에 얼마나 오래 있었는지 모른다. 완벽하게 작동합니다! – Orophen

관련 문제