Wohin soll get_post_meta () gehen, um $ post-> ID zu erhalten get_post_meta () ist leer und $ post-> ID & get_the_id () funktionieren

EDIT: Also habe ich den vollständigen Code hinzugefügt. Was ich versuche, ist, die Post-ID in die Metabox-Werte für einen sofortigen und geplanten Post zu bekommen. Es scheint, dass ich Schwierigkeiten habe, die ID auf get_post_meta zu übergeben. Einige der Antworten zum Stack-Austausch haben mir geholfen, mich hierher zu bringen (ich glaube, ich kann jetzt sofort über prfx_meta_usa / get_post_meta veröffentlichen. Aber es scheint, als würde etwas die geplanten / zukünftigen Posts vom Feuern abhalten.

Ich habe eine Menge der Stack-Exchange-Themen auf get_post_meta () gelesen, aber es scheint, dass keiner von ihnen mir geholfen hat. Ich habe hier mehrere Lösungen versucht und keiner hat wirklich geholfen und ich frage mich, ob ich es einfach nicht verstehe.

Zuerst ist es eine neue Installation von WordPress und es hat twentyfourteen und dieses Plugin als die einzigen aktiven.

Ich kann $ post-> ID ausgeben

Ich kann get_the_ID () wiedergeben

Wenn ich versuche, get_post_meta mit einer dieser Methoden zu verwenden, komme ich leer. Wenn ich auf “Aktualisieren” klicke (meine Seitenerrors auf den weißen Bildschirm, wo ich die Variablen var_dumped habe und ich dann auf “Aktualisieren” klicken kann), dann füllt es sich mit dem, was ich tun muss. (Ich habe das Eingabefeld auf der WordPress-Seite überprüft, die database und es scheint in Ordnung).

Wenn ich einen früheren Post in get_post_meta fest codiere, funktioniert das wie ein Zauber.

$meta_value = get_post_meta( $post->ID, 'meta-text', true ); // Checks and displays the retrieved value if( !empty( $meta_value ) ) { echo $meta_value; } else { echo "no meta value for meta-text"; var_dump(get_post_meta($id ) ); echo "
end of var_dump of meta post " ; $meta = get_post_meta($id ); echo $meta['meta-text'][0]; //this is line 292 echo "
This is something else "; echo $thePostID; }

Dies gibt aus

 silly test no meta value for meta-textarray(2) { ["_edit_last"]=> array(1) { [0]=> string(1) "1" } ["_edit_lock"]=> array(1) { [0]=> string(12) "1400387873:1" } } end of var_dump of meta post Notice: Undefined index: meta-text in /var/www/wp- content/plugins/remoteLinkedin/remotelinkedin.php on line 292 This is something else 705 

Wenn ich auf “Aktualisieren” klicke (und er fordert mich auf, die Informationen erneut zu senden), sieht die Ausgabe von get_post_meta so aus

 silly test weeee we have lift off! Wow array(4) { ["_edit_last"]=> array(1) { [0]=> string(1) "1" } ["_edit_lock"]=> array(1) { [0]=> string(12) "1400387886:1" } ["meta-text"]=> array(1) { [0]=> string(3) "Wow" } ["theta-test"]=> array(1) { [0]=> string(3) "Now" } } 

Wow und Now sind getrennt von der get_meta_post ($ post-> ID) var_dump.

Ich bin frustriert, da ich in den letzten Tagen die meiste Zeit meiner Freizeit damit verbracht habe, herauszufinden, was ursprünglich vor sich ging, und ich vermute, dass ich irgendwie auf eine sehr alberne und dumme Art verpfuscht bin.

Dies alles ist in etwas, das als angehängt ist

 add_action( 'transition_post_status', 'linkedin_intercept_all_status_changes', 10 , 3 ); 

Ich habe wp_query, the_ID, get_the_ID usw. versucht

 echo "
the post-> " . $post->ID; print "
the get id " . get_the_ID();

Ausgänge

 the post-> 705 the get id 705 

Es sollte angemerkt werden, dass sie beide gleichzeitig sind und so hatte ich den Eindruck, dass, wenn Sie in der Schleife sind, Sie eine und nicht die andere bekommen könnten ???

Ich vermute, dass ich nicht get_post_meta im richtigen Moment springen in Anbetracht der Tatsache, dass es beschließt, nach dem Wiedereinreichen zu arbeiten … ist die Metapost Datenspeicherung oder etwas später als die Post-ID … oder ist etwas die Post ID zu stoppen vom Erscheinen mit get_post_meta ??

Ich entschuldige mich für ein bisschen weitschweifig, ich bin kein Experte für WordPress und weiß, dass PHP zu intermediär ist.

Randnotizen: Ich habe http://themefoundation.com/wordpress-meta-boxes-guide/ als Grundlage für meine Metabox verwendet. Ich verwendete benutzerdefinierte Felder, aber ich bekam dieselben Probleme.

EDIT: Ich denke, das ist, was es spart?

 /** * Saves the custom meta input */ function prfx_meta_save( $post_id ) { // Checks save status $is_autosave = wp_is_post_autosave( $post_id ); $is_revision = wp_is_post_revision( $post_id ); $is_valid_nonce = ( isset( $_POST[ 'prfx_nonce' ] ) && wp_verify_nonce( $_POST[ 'prfx_nonce' ], basename( __FILE__ ) ) ) ? 'true' : 'false'; // Exits script depending on save status if ( $is_autosave || $is_revision || !$is_valid_nonce ) { return; } // Checks for input and sanitizes/saves if needed if( isset( $_POST[ 'meta-text' ] ) ) { update_post_meta( $post_id, 'meta-text', sanitize_text_field( $_POST[ 'meta-text' ] ) ); } } add_action( 'save_post', 'prfx_meta_save' ); 

EDIT: Dies ist der vollständige Code

 /** * Adds a meta box to the post editing screen */ function prfx_custom_meta() { add_meta_box( 'prfx_meta', __( 'Meta Box Title', 'prfx-textdomain' ), 'prfx_meta_callback', 'post' ); } add_action( 'add_meta_boxes', 'prfx_custom_meta' ); /** * Outputs the content of the meta box */ function prfx_meta_callback( $post ) { wp_nonce_field( basename( __FILE__ ), 'prfx_nonce' ); $prfx_stored_meta = get_post_meta( $post->ID ); ?> 

<input type="text" name="meta-text" id="meta-text" value="" />

ID ); ?>

<input type="text" name="theta-test" id="theta-test" value="" />

<?php } /** * Saves the custom meta input */ function srfx_meta_save( $post_id ) { // Checks save status $is_autosave = wp_is_post_autosave( $post_id ); $is_revision = wp_is_post_revision( $post_id ); $is_valid_nonce = ( isset( $_POST[ 'srfx_nonce' ] ) && wp_verify_nonce( $_POST[ 'srfx_nonce' ], basename( __FILE__ ) ) ) ? 'true' : 'false'; // Exits script depending on save status if ( $is_autosave || $is_revision || !$is_valid_nonce ) { return; } // Checks for input and sanitizes/saves if needed if( isset( $_POST[ 'theta-test' ] ) ) { update_post_meta( $post_id, 'theta-test', sanitize_text_field( $_POST[ 'theta-test' ] ) ); } } add_action( 'save_post', 'srfx_meta_save' ); function srfx_meta_use (){ // Retrieves the stored value from the database $meta_value = get_post_meta( get_the_ID(), 'theta-test', true ); // Checks and displays the retrieved value if( !empty( $meta_value ) ) { echo $meta_value; } }

Erstellen Sie dann den benutzerdefinierten Beitrag

 function my_custom_post_Linkedin() { $labels = array( 'name' => _x( 'Linkedins', 'post type general name' ), 'singular_name' => _x( 'Linkedin', 'post type singular name' ), 'add_new' => _x( 'Add New', 'Linkedin' ), 'add_new_item' => __( 'Add New Linkedin' ), 'edit_item' => __( 'Edit Linkedin' ), 'new_item' => __( 'New Linkedin' ), 'all_items' => __( 'All Linkedins' ), 'view_item' => __( 'View Linkedin' ), 'search_items' => __( 'Search Linkedins' ), 'not_found' => __( 'No Linkedins found' ), 'not_found_in_trash' => __( 'No Linkedins found in the Trash' ), 'parent_item_colon' => '', 'menu_name' => 'Linkedins' ); $args = array( 'labels' => $labels, 'description' => 'Holds our Linkedins and Linkedin specific data', 'public' => true, 'menu_position' => 3, 'supports' => array( 'title', 'editor', 'thumbnail' ), 'has_archive' => true, ); register_post_type( 'Linkedin', $args ); } add_action( 'init', 'my_custom_post_Linkedin' ); 

Das ist meine Post-Übergangsfunktion

 function linkedin_intercept_all_status_changes( $new_status, $old_status, $post) { //globals global $post; global $meta; global $classes; //$id = get_the_ID(); //$video_value = get_post_meta($id, '_post_video', true); // Retrieves the stored value from the database // $meta_value = get_post_meta( $id, 'meta-text', true ); // $linkedin_id = post->id; if ( ( $new_status == 'publish' ) && (get_post_type( $post ) == 'post')) { // Post status changed require_once('db.php'); require_once('linkedin_3.2.0.class.php'); //http://stackoverflow.com/questions/11370356/having-trouble-with-the-oauth-verifier-for-offline-use-in-simple-linkedin-php //http://wordpress.stackexchange.com/questions/135422/get-post-meta-doesnt-work //http://codex.wordpress.org/Post_Status_Transitions //http://themefoundation.com/wordpress-meta-boxes-guide/ //http://wordpress.stackexchange.com/questions/115852/why-is-my-get-post-meta-always-empty?rq=1 // ^ update_post_meta($post_id,'ch_event_date', 'Chris figured it out'); // //************************************* // //************************************* //beginning of the formal document // I know * is not good but until I get it to work we'll leave it like this $select = "SELECT * FROM wp_twitter WHERE oauth_provider='linkedin' AND wpid='1'"; $result = mysql_query($select); if (mysql_num_rows($result)===0){ echo "not connected"; }else{ $result = mysql_fetch_assoc($result); //database variables $linkedin_oauth_provider = $result['oauth_provider']; $linkedin_oauth_token = $result['oauth_token']; $linkedin_oauth_token_secret = $result['oauth_secret']; $linkedin_uid = $result['oauth_uid']; $linkedin_username = $result['username']; $linkedin_wpid = $result['wpid']; $user_ID = $result['wpid']; } // display constants $API_CONFIG = array( 'appKey' => '*****', 'appSecret' => '*****', 'callbackUrl' => NULL ); $linkedin = new LinkedIn($API_CONFIG); $linkedin->setToken(array( 'oauth_token' => $linkedin_oauth_token, 'oauth_token_secret' => $linkedin_oauth_token_secret )); $id = print_r(get_the_ID(), TRUE); //update_post_meta(get_the_ID() , 'meta-text', 'Chris figured it out'); //update_post_meta(get_the_ID() , 'theta-text', 'Chris figured it out'); $post_id = $post->ID; prfx_meta_save( $post_id ); srfx_meta_save( $post_id ); prfx_meta_use (); srfx_meta_use (); $meta_value = prfx_meta_use (); //get_post_meta( $post->ID, 'meta-text', true ); $theta_value = srfx_meta_use ();//get_post_meta( $post->ID, 'theta-text', true ); $id = get_queried_object_ID(); $thePostID = get_the_ID(); //print_r ($_POST['ID'], true); $content = array(); $content['comment'] = $meta_value; //$thePostID; //get_field('comments_linkedin',$thePostID);//$comment;// get_field('linkedin_comments'); $content['title'] = $post->post_title;//$_POST['stitle']; $content['submitted-url'] = $theta_value; //$post_class; //get_field('submit_url_linkedin',get_the_ID());//get_the_ID(); //get_field('submit_url_linkedin',$thePostID); //$urllinkedin;//get_field("linkedin_description");//$_POST['surl']; $content['submitted-image-url'] = "rockitup";// $meta_value; // $post_class1; //get_field('image_url_linkedin',$thePostID); //$image_url_linkedin;//get_field("image_url");//'hey'; //get_field('linkedin_image_url');//$_POST['simgurl']; $content['description'] = $post->post_content;//$_POST['sdescription']; $private = true; // share content $response = $linkedin->share('new', $content, $private); if($response['success'] === TRUE) { // status has been updated // header('Location: ' . $_SERVER['PHP_SELF']); } else { global $post; // an error occured echo "Error sharing content:

RESPONSE:

" . print_r($response, TRUE) . "

LINKEDIN OBJ:

" . print_r($linkedin, TRUE) . "

"; echo "
This is the array "; print_r($content); echo "
printing the post"; print_r($post); echo "
"; echo "
the post-> " . $post->ID; print "
the get id " . get_the_ID(); echo "
var dumping post "; var_dump($post);//test values in $post echo "

" ; //wp_reset_query(); // function of crazy $id = print_r($post->ID, TRUE); print $id; echo "
silly test "; $meta_value = get_post_meta( $post->ID, 'meta-text', true ); // Checks and displays the retrieved value if( !empty( $meta_value ) ) { echo "weeee we have lift off!"; echo $meta_value; var_dump(get_post_meta($post->ID ) ); } else { echo "no meta value for meta-text"; var_dump(get_post_meta($post->ID ) ); echo "
end of var_dump of meta post " ; $meta = get_post_meta(get_the_ID()); echo $meta['meta-text'][0]; echo "
This is something else "; echo $thePostID; } } } } add_action( 'transition_post_status', 'linkedin_intercept_all_status_changes', 10 , 3 );

Dies ist die Ausgabe (ohne die linkedin print_r’s, da ist das nicht das Problem)

  This is the array Array ( [comment] => gasfg [title] => asdf [submitted-url] => [submitted-image-url] => rockitup [description] => asd ) printing the post WP_Post Object ( [ID] => 770 [post_author] => 1 [post_date] => 2014-05-18 15:56:38 [post_date_gmt] => 0000-00-00 00:00:00 [post_content] => asd [post_title] => asdf [post_excerpt] => [post_status] => draft [comment_status] => open [ping_status] => open [post_password] => [post_name] => [to_ping] => [pinged] => [post_modified] => 2014-05-18 15:56:38 [post_modified_gmt] => 2014-05-18 15:56:38 [post_content_filtered] => [post_parent] => 0 [guid] => http://www.rivallist.com/?p=770 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw ) the post-> 770 the get id 770 var dumping post object (WP_Post)#265 (24) { ["ID"]=> int(770) ["post_author"]=> string(1) "1" ["post_date"]=> string(19) "2014-05-18 15:56:38" ["post_date_gmt"]=> string(19) "0000-00-00 00:00:00" ["post_content"]=> string(3) "asd" ["post_title"]=> string(4) "asdf" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(5) "draft" ["comment_status"]=> string(4) "open" ["ping_status"]=> string(4) "open" ["post_password"]=> string(0) "" ["post_name"]=> string(0) "" ["to_ping"]=> string(0) "" ["pinged"]=> string(0) "" ["post_modified"]=> string(19) "2014-05-18 15:56:38" ["post_modified_gmt"]=> string(19) "2014-05-18 15:56:38" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(31) "http://www.rivallist.com/?p=770" ["menu_order"]=> int(0) ["post_type"]=> string(4) "post" ["post_mime_type"]=> string(0) "" ["comment_count"]=> string(1) "0" ["filter"]=> string(3) "raw" } 770 silly test weeee we have lift off!gasfg array(4) { ["_edit_last"]=> array(1) { [0]=> string(1) "1" } ["_edit_lock"]=> array(1) { [0]=> string(12) "1400428598:1" } ["meta-text"]=> array(1) { [0]=> string(5) "gasfg" } ["theta-test"]=> array(1) { [0]=> string(3) "sdf" } } Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/plugins/remoteLinkedin/metabox.php:71) in /var/www/wp-admin/post.php on line 233 Warning: Cannot modify header information - headers already sent by (output started at /var/www/wp-content/plugins/remoteLinkedin/metabox.php:71) in /var/www/wp-includes/pluggable.php on line 896 

Solutions Collecting From Web of "Wohin soll get_post_meta () gehen, um $ post-> ID zu erhalten get_post_meta () ist leer und $ post-> ID & get_the_id () funktionieren"