このコードをワードプレスプラグインで実装してカスタムフィールド値を取得し、カスタムフィールド値がtrueの場合は投稿URLの最後に値を追加しました。
したがって、以下の例では、カスタムフィールドの「testme」値が「news」の場合、URLの最後に$ news値を追加する必要があります。これは?fromwhere=newsです。この概念/コードはプラグインで正常に機能しました。使用していたのですが、メインのWordpressループ内で適用しようとしましたが、機能しません。メインのWordpressループ内で使用しているコードは次のとおりです。
/* entry_title */
if ( !function_exists( 'wpstart_entry_title' ) ) {
function wpstart_entry_title() {
$post = get_post($single->ID);
$newss = get_post_meta($post->ID, $key, TRUE);
$key = 'testme';
$news = '?fromwhere=news"';
if($newss == 'news') {
if ( is_single() || is_page() ) { ?>
<h1 class="entry-title"><?php the_title(); ?></h1>
<?php } elseif (is_404()) { ?>
<h1 class="entry-title"><?php _e( 'Page not found', 'wpstart' ); ?> - 404</h1>
<?php } else { ?>
<h2 class="entry-title"><a href="<?php the_permalink(); ?>'.$news.'"
title="<?php the_title_attribute( array('before' => esc_attr__( 'Permalink: ', 'wpstart' ),
'after' => '')); ?>" rel="bookmark">
<?php the_title(); ?></a></h2>
<?php }
}
else { echo '<h2>DID NOT WORK</h2>';
}
}
}
「testme」カスタムフィールドを「news」に設定したものも含め、すべての投稿タイトルに「DIDNOTWORK」が返されます。なぜこれが機能しないのですか?!:(