Help us understand the problem. What is going on with this article?

WordPress Bogo をカスタム投稿タイプでも使う

More than 3 years have passed since last update.

Bogo とは

https://ja.wordpress.org/plugins/bogo/

WordPressで多言語サイト運用するならこのプラグインが便利。
カスタム投稿タイプでも使うにはちょっとしたカスタマイズが必要

コード

プラグインで bogo_localizable_post_types というフィルターフックが用意されてるのでそれを使えばOK。
$localizable に投稿タイプ名が配列で入るので、加える。

my_localizable_post_types1.php
<?php
/**
 * Support custom post type with bogo.
 *
 * @param array $localizable Supported post types.
 * @return array
 */
function my_localizable_post_types( $localizable ) {
    $localizable[] = 'custom_post_type_name';
    return $localizable;
}
add_filter( 'bogo_localizable_post_types', 'my_localizable_post_types', 10, 1 );

複数のカスタム投稿タイプを追加する場合は $localizable[] = 'custom_post_type_name'; の複数行記述すればよいが、いちいち投稿タイプを書くのは面倒という場合は get_post_types() 使えばよい。
https://developer.wordpress.org/reference/functions/get_post_types/

例は public なカスタム投稿タイプを全て追加するコード。

my_localizable_post_types2.php
<?php
/**
 * Support custom post type with bogo.
 *
 * @param array $localizable Supported post types.
 * @return array
 */
function my_localizable_post_types( $localizable ) {
    $args = array(
        'public'   => true,
        '_builtin' => false
    );
    $custom_post_types = get_post_types( $args );
    return array_merge( $localizable, $custom_post_types );
}
add_filter( 'bogo_localizable_post_types', 'my_localizable_post_types', 10, 1 );
gatespace
仙台で働く(株)デジタルキューブ(め組)の Director。 _s Contributor / JAWS-UG 東北 / 網元起動隊
https://gatespace.jp/
digitalcubeinc
デジタルキューブは AWS Partner Network (APN) アドバンスドテクノロジーパートナーです。
https://ja.amimoto-ami.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away