グーグル JOB POSTING めんどくさいところのソース

ワードプレス

employmentType(雇用形態)

<?php 
$terms = wp_get_object_terms( $post->ID, 'adoption_pattern' ); if( !empty( $terms ) ): ?>
  "employmentType": [ <?php
	$length = count( $terms );
	$no = 0;
	foreach( $terms as $term ){
		echo strtoupper( '"'.$term->slug.'"' );
		$no++;
		if( $no !== $length ){ echo ', '; }
	}
 ?> ]
<?php endif; ?>

「’adoption_pattern’」はカスタム投稿のタクソノミー名(雇用形態)です。

現状、複数出力しても「false」になっちゃうので、入力時に複数選択できないようにした方が良いかもですが、とりあえず、複数あっても構文エラーにはならない出力方法、ということで。

「”要素1″, “要素2”, “要素3″」と、最後の要素のあとにカンマが出ないようにしています。

また、大文字で出力されるよう「strtoupper()」をかませています。

title(職種)

<?php 
$terms = wp_get_object_terms( $post->ID, 'adoption_cat' ); if( !empty( $terms ) ): ?>
  "title": [ <?php
	$length = count( $terms );
	$no = 0;
	foreach( $terms as $term ){
		echo strtoupper( '"'.$term->name.'"' );
		$no++;
		if( $no !== $length ){ echo ', '; }
	}
 ?> ]
<?php endif; ?>

こちらもほぼ同じ。

「’adoption_cat’」が職種タクソノミー名です。

日本語想定なので「$term->name」。

なので「strtoupper()」は要らないですが一応。

こっちも、入力時に複数選択できないようにした方が良いかもです。

validThrough(有効期限)

求人情報の有効期限。

「決めてない場合は書かない」決まりですが、警告がいちいち出るので書いておきます。

  "validThrough": "<?php
$date = new DateTime( get_the_time( 'Y-m-d' ) );
$date->modify( '+6 month' );
echo $date->format( 'Y-m-d' );
?>"

「公開日の6か月後まで有効」というルールで「’+6 month’」。

「days」「weeks」などの単位も有効です。