「snow_monkey_get_template_part_args」の検索結果

15件の結果を表示中 - 76 - 90件目 (全109件中)
  • 投稿者
    検索結果
  • #66919

    返信が含まれるトピック: *****

    *****
    [ プライベートトピックのため非表示 ]
    0
    いいねをした人: 居ません
    #62798

    返信が含まれるトピック: カスタム投稿タイプのタグ表示

    アバター画像キタジマ タカシ
    参加者
    2421

    @アクツさん

    カスタムタクソノミーの場合は、タグ形式でもカテゴリー形式でも、コンテンツのメタ情報の部分に載ってしまうのが正しい挙動かと思います。

    あ、記事タイトル下のところに、タグ形式のタクソノミーがでちゃうこともあるってことですよね(複数タクソノミーが割り当てられている場合はどちらかのタクソノミーが表示)。挙動的にはバグっちゃバグですね…^^; 投稿の場合はカテゴリーだけなので、カスタム投稿のときもカテゴリー形式のタクソノミーだけが表示されるのが正しい気がします。これはちょっと修正入れます。

    一番良さそうな形か微妙ですが、

    Snow Monkey がわざわざ Helper::get_the_public_taxonomy( get_the_ID() ); で投稿に紐付いた全タクソノミー情報をとっているのは、Snow Monkey からはどのタクソノミーを表示すれば良いのか判断ができないからなので、カスタマイズで自分の好きなタクソノミーだけを表示したいときは get_the_terms() で好きなタクソノミーを取得すれば良いです。書き直すとこんな感じでしょうか。

    カスタム投稿 news、カスタムタクソノミー news_category の場合

    add_action(
    	'snow_monkey_prepend_contents',
    	function() {
    		// カスタム投稿のときにメタ情報のカテゴリー表示を無効化
    		if ( is_singular( 'news' ) ) {
    			remove_action( 'snow_monkey_entry_meta_items', 'snow_monkey_entry_meta_items_categories', 40 );
    		}
    
    		// カスタム投稿のときにメタ情報を表示
    		// カスタマイザーでビューテンプレートを「投稿」にしている場合は不要
    		if ( is_singular( 'news' ) ) {
    			add_filter(
    				'snow_monkey_get_template_part_args_template-parts/content/entry/entry',
    				function( $args ) {
    					$args['vars']['_display_entry_header'] = true;
    					$args['vars']['_post_type'] = 'post';
    					return $args;
    				}
    			);
    		}
    
    		// カスタム投稿のときに任意のタクソノミーをメタ情報に表示
    		if ( is_singular( 'news' ) ) {
    			add_action(
    				'snow_monkey_entry_meta_items',
    				function() {
    					$terms = get_the_terms( get_the_ID(), 'news_category' );
    					if ( ! is_array( $terms ) ) {
    						return;
    					}
    					?>
    					<?php foreach ( $terms as $term ) : ?>
    						<li class="c-meta__item c-meta__item--categories">
    							<span class="screen-reader-text"><?php echo esc_html( $terms->label ); ?></span>
    							<i class="fas fa-folder" aria-hidden="true"></i>
    							<a href="<?php echo esc_url( get_term_link( $term ) ); ?>"><?php echo esc_html( $term->name ); ?></a>
    						</li>
    					<?php endforeach; ?>
    					<?php
    				},
    				40
    			);
    		}
    	}
    );
    2
    いいねをした人: 居ません
    #62706

    返信が含まれるトピック: カスタム投稿タイプのタグ表示

    アクツ
    参加者
    167

    andmさんこんにちは!

    カスタムタクソノミーの場合は、タグ形式でもカテゴリー形式でも、コンテンツのメタ情報の部分に載ってしまうのが正しい挙動かと思います。
    (私も同現象になりました)

    ひとまずタグ欄にタグ出す方法はわかったので共有します(ほぼslackでキタジマさんがいってたのをコード化しただけですw)

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/entry/entry',
    	function( $args ) {
    		if ( is_singular('{カスタム投稿名}') ) {
    			$args['vars']['_display_tags'] = TRUE;
    		}
    		return $args;
    	}
    );
    
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/entry-tags',
    	function( $args ) {
    		if ( is_singular('{カスタム投稿名}') ) {
    			$args['vars']['_terms'] = get_the_terms( get_the_ID(), '{カスタムタクソノミーslug}' );
    		}
    		return $args;
    	}
    );
    4
    いいねをした人:
    Hajime Megane Ogushi
    参加者
    19

    ありがとうございます!
    バッチリな感じがします。
    投稿の時は、今まで通りのauthorリンクでも良さそうなので、以下のように投稿以外では、という設定でも良いかなと思いました。何にしろありがとうございます!

    
    // プロフィールボックスの著者アーカイブリンクをその著者のカスタム投稿アーカイブへのリンクにする
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/common/profile-box',
    	function( $args ) {
    		if ( ! is_singular( 'post' ) ) {
    			$args['vars']['_in_same_post_type'] = true;
    		}
    		return $args;
    	}
    );
    
    1
    いいねをした人: 居ません
    #62472
    アバター画像キタジマ タカシ
    参加者
    2421

    これでどうでしょうか?

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/loop/entry-summary/term/term',
    	function( $args ) {
    		// 投稿以外の場合は無視
    		if ( 'post' !== $args['name'] ) {
    			return $args;
    		}
    
    		// 全ての設定されたカテゴリーを返す
    		$terms = get_the_terms( get_the_ID(), 'category' );
    		$terms = array_map(
    			function( $term ) {
    				return isset( $term->parent ) && $term->parent
    					?	false
    					: $term;
    			},
    			$terms
    		);
    
    		$terms = array_filter(
    			$terms,
    			function( $term ) {
    				return $term ? $term : false;
    			},
    		);
    
    		$args['vars']['_terms'] = $terms;
    
    		return $args;
    	}
    );
    0
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421

    まだベータ版なのですが、Snow Monkey v12 で機能を追加します。もしテスト環境をお持ちでご都合がつくようでしたらテストしていただけるとうれしいです(正式リリース後でも全然大丈夫です)。

    // カスタム投稿タイプにもプロフィールボックスを表示
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/entry/entry',
    	function( $args ) {
    		$args['vars']['_display_profile_box'] = true;
    		return $args;
    	}
    );
    
    // プロフィールボックスの著者アーカイブリンクをその著者のカスタム投稿アーカイブへのリンクにする
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/common/profile-box',
    	function( $args ) {
    		$args['vars']['_in_same_post_type'] = true;
    		return $args;
    	}
    );
    1
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421

    1ヶ月以上おまたせしてしまいました、すみません!

    まだベータ版なのですが、Snow Monkey v12 で機能を追加します。もしテスト環境をお持ちでご都合がつくようでしたらテストしていただけるとうれしいです(正式リリース後でも全然大丈夫です)。

    ダッシュボード → 外観 → メニュー → メニューの位置 → フォローボックスに、Twitter や Facebook などのカスタムリンクを追加すると、記事の下部にフォローボックスが表示されます。フォローボックスのタイトルや説明文はフックでカスタマイズできるようにしています。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/follow-box',
    	function( $args ) {
    		$args['vars']['_title'] = 'タイトル';
    		$args['vars']['_lead'] = '説明文';
    		return $args;
    	}
    );
    0
    いいねをした人: 居ません
    #60572
    アバター画像キタジマ タカシ
    参加者
    2421

    いろいろやり方はあると思いますが、主なやり方は2つあります。

    1. カスタマイザーで設定する
    カスタム投稿タイプの個別ページを開いた状態で管理バーからカスタマイザーを開き、デザイン → {カスタム投稿タイプ}ページ設定 → ビューテンプレートで、「投稿」を選択します。
    この設定はビューテンプレートが投稿のものに切り替わるので、シェアボタン含め、投稿で表示されるものがもろもろ表示されるようになります。

    2. My Snow Monkey でテンプレート引数を書き換える

    個別ページは template-parts/content/entry/entry.php を通って表示されるようになっているのですが、このファイルは各要素を表示するかどうかのテンプレート引数を持っているので、これを書き換えることで任意の要素を表示できるようになります。シェアボタンの場合は以下です。)

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/entry/entry',
    	function( $args ) {
    		// news の場合に
    		if ( 'news' === $args['vars']['_post_type'] ) {
    			// シェアボタンを表示
    			$args['vars']['_display_top_share_buttons'] = true;
    		}
    		return $args;
    	}
    );
    0
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421

    北島様

    あ、一応このフォーラムは僕含めサブスクリプション契約者の方は誰でも質問・回答ができる場所でして、宛名があると他の方が答えにくくなると思うので、宛名は無しでお願いします!

    関連記事のレイアウトをカテゴリー毎に変更や表示・非表示を制御したいのですが、可能でしょうか。

    はい、できます! 例えばカテゴリーIDが1のカテゴリーに属する記事を表示したときに、関連記事のレイアウトを「rich-media」にするコードは下記になります。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/related-posts',
    	function( $args ) {
    		if ( is_singular() ) {
    			if ( in_category( [ 1 ] ) ) {
    				$args['vars']['_entries_layout'] = 'rich-media';
    			}
    		}
    		return $args;
    	}
    );
    0
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421

    v11.7.0 で、矢印クリックに切り替える設定を追加しました。下記のコードを追加すると切り替わります。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/nav/global',
    	function( $args ) {
    		$args['vars']['_popup-mode'] = 'click';
    		return $args;
    	}
    );

    ホバーのままで矢印だけ出したい場合は先のコードで下向き矢印がでるようにしました。ただ、クリックモードのときと違って整ってはでないので、CSS で微調整が必要になります。

    例えばこんな感じ。

    .p-global-nav .c-navbar .c-navbar__item[aria-haspopup=true],
    .p-global-nav .c-navbar .c-navbar__subitem[aria-haspopup=true] {
        padding-right: 1.76923rem;
        padding-right: calc(var(--_space, 1.76923rem)*1);
    }
    
    .p-global-nav .c-navbar .c-navbar__item,
    .p-global-nav .c-navbar .c-navbar__subitem {
        position: relative;
    }
    1
    いいねをした人: 居ません
    #59449
    rakumath
    閲覧者
    10

    ご返信ありがとうございます。

    キャッチアップ画像は変わったようなのですが、

    リンクとテキストは元のままのようです。

    自分のカスタマイズした部分に問題があるのでしょうか?

    一応、my snow monkeyに書いているコードを貼ります。

    ↑キャッチアップ画像は同一カテゴリの一つ前の記事ですが、

    テキストやリンクは別カテゴリに存在する記事です。

    <?php
    /**
     * Plugin name: My Snow Monkey
     * Description: このプラグインに、あなたの Snow Monkey 用カスタマイズコードを書いてください。
     * Version: 0.1.1
     *
     * @package my-snow-monkey
     * @author inc2734
     * @license GPL-2.0+
     */
    
    /**
     * Snow Monkey 以外のテーマを利用している場合は有効化してもカスタマイズが反映されないようにする
     */
    $theme = wp_get_theme( get_template() );
    if ( 'snow-monkey' !== $theme->template && 'snow-monkey/resources' !== $theme->template ) {
    	return;
    }
    
    //iframeのレスポンシブ対応
    function wrap_iframe_in_div($the_content) {
    	if ( is_singular() ) {
    		$the_content = preg_replace('/<iframe/i', '<iframe id="sample"', $the_content);
    	}
    	return $the_content;
    }
    add_filter('the_content','wrap_iframe_in_div');
    
    /**
     * グループネームの取得
     */
    function uamIsUserInGroup($groupName='', $userId='') {
    	if (empty($userId)) {
    		$userId = get_current_user_id();
    	}
    
    	global $userAccessManager;
    
    	if (isset($userAccessManager)) {
    		$userGroupHandler = $userAccessManager->getUserGroupHandler();
    		$userGroupsForUser = $userGroupHandler->getUserGroupsForObject(
    			\UserAccessManager\Object\ObjectHandler::GENERAL_USER_OBJECT_TYPE,
    			$userId
    		);
    
    		foreach($userGroupsForUser as $element) {
    			if ($element->getName() == $groupName) {
    				return true;
    			}
    		}
    	} else {
    		return false;
    	}
    }
    
    /**
     * メニューを非表示にする
     */
    function remove_menus () {
    	if(!current_user_can( 'administrator' )){
    		global $menu;
    		unset($menu[2]); // ダッシュボード
    		unset($menu[4]); // メニューの線1
    		unset($menu[5]); // 投稿
    		unset($menu[10]); // メディア
    		unset($menu[15]); // リンク
    		unset($menu[20]); // ページ
    		unset($menu[25]); // コメント
    		unset($menu[59]); // メニューの線2
    		unset($menu[60]); // テーマ
    		unset($menu[65]); // プラグイン
    		unset($menu[70]); // プロフィール
    		unset($menu[75]); // ツール
    		unset($menu[80]); // 設定
    		unset($menu[90]); // メニューの線3
    	}
    }
    add_action('admin_menu', 'remove_menus');
    
    /**
     * ユーザメニューを非表示にする
     */
    function remove_admin_bar_menus( $wp_admin_bar ) {
    	$wp_admin_bar->remove_menu( 'wp-logo' ); // WordPressロゴ.
    	$wp_admin_bar->remove_menu( 'about' ); // WordPressロゴ / WordPressについて.
    	$wp_admin_bar->remove_menu( 'wporg' ); // WordPressロゴ / WordPress.org.
    	$wp_admin_bar->remove_menu( 'documentation' ); // WordPressロゴ / ドキュメンテーション.
    	$wp_admin_bar->remove_menu( 'support-forums' ); // WordPressロゴ / サポート.
    	$wp_admin_bar->remove_menu( 'feedback' ); // WordPressロゴ / フィードバック.
    
    	//$wp_admin_bar->remove_menu( 'customize' ); // カスタマイズ.
    
    	$wp_admin_bar->remove_menu( 'updates' ); // 更新.
    
    	$wp_admin_bar->remove_menu( 'comments' ); // コメント.
    
    	$wp_admin_bar->remove_menu( 'new-content' ); // 新規投稿.
    	$wp_admin_bar->remove_menu( 'new-post' ); // 新規投稿 / 投稿.
    	$wp_admin_bar->remove_menu( 'new-media' ); // 新規投稿 / メディア.
    	$wp_admin_bar->remove_menu( 'new-page' ); // 新規投稿 / 固定.
    	$wp_admin_bar->remove_menu( 'new-user' ); // 新規投稿 / ユーザー.
    
    	$wp_admin_bar->remove_node('search'); // 検索のメニューを消す。
    
    	if (!current_user_can('level_10')) { //level10以下のユーザーの場合メニューをunsetする
    		//$wp_admin_bar->remove_menu( 'my-account' ); // こんにちは、[ユーザー名]さん.
    		$wp_admin_bar->remove_menu( 'user-info' ); // ユーザー / [ユーザー名].
    		$wp_admin_bar->remove_menu( 'edit-profile' ); // ユーザー / プロフィールを編集.
    		//$wp_admin_bar->remove_menu( 'logout' ); // ユーザー / ログアウト.
    
    		$wp_admin_bar->remove_menu( 'site-name' ); // サイト名.
    		$wp_admin_bar->remove_menu( 'view-site' ); // サイト名 / サイトを表示.
    
    		$wp_admin_bar->remove_menu( 'menu-toggle' ); // メニュー.
    	}
    }
    add_action( 'admin_bar_menu', 'remove_admin_bar_menus', 9999 );
    
    function userprofile_script() {
    	if (!current_user_can('administrator')) {
    		global $hook_suffix;
    		if('index.php' == $hook_suffix) {
    			wp_safe_redirect( home_url() );
    			exit;
    		}
    		if('profile.php' == $hook_suffix) {
    			wp_enqueue_script('userprofile_js', get_stylesheet_directory_uri().'/js/userprofile.js', array('jquery'));
    			wp_safe_redirect( home_url('/loginform/') );
    			exit;
    		}
    	}
    }
    add_action('admin_enqueue_scripts', 'userprofile_script');
    
    //管理バーにメニューを追加する
    function customize_admin_bar_menu( $wp_admin_bar ){
    	//バーにメニューを追加
    	if(is_user_logged_in() and current_user_can( 'administrator' )){
    		$wp_admin_bar->add_menu(array(
    			'parent' => 'site-name', // 親メニューID
    			'id' => 'dashboard_menu2',
    			'meta' => array(),
    			'title' => 'マイページ',
    			'href' => home_url('/loginform/') // ページURL
    		));
    		$wp_admin_bar->add_menu(array(
    			'parent' => 'site-name', // 親メニューID
    			'id' => 'dashboard_menu3',
    			'meta' => array(),
    			'title' => '数学研究部',
    			'href' => home_url('/mathlabo/') // ページURL
    		));
    		$wp_admin_bar->add_menu(array(
    			'parent' => 'site-name', // 親メニューID
    			'id' => 'dashboard_menu4',
    			'meta' => array(),
    			'title' => '専用',
    			'href' => home_url('/rakunan/') // ページURL
    		));
    		$wp_admin_bar->add_menu(array(
    			'parent' => 'site-name', // 親メニューID
    			'id' => 'dashboard_menu5',
    			'meta' => array(),
    			'title' => 'ユーザー一覧',
    			'href' => home_url('wp-admin/users.php') // ページURL
    		));
    	}
    }
    add_action('admin_bar_menu', 'customize_admin_bar_menu', 9999);
    
    /**
     * Snow Monkeyのパスワードのログインコメント
     */
    add_filter(
    	'snow_monkey_member_post_restricted_content_message',
    	function( $message ) {
    		$message = 'この先を閲覧するには<a href="https://rakumath.xyz/loginform/">ログイン</a>してください。';
    		return $message;
    	}
    );
    
    /**
     * ブログ一覧ページとカテゴリーアーカイブページのページレイアウトを1カラムに固定する
     */
    add_filter(
    	'snow_monkey_layout',
    	function( $layout ) {
    		if ( is_home() || is_category() ) {
    			return 'one-column-slim';
    		}
    		return $layout;
    	}
    );
    
    /**
     * Snow Monkeyテーマにカスタム投稿タイプのsingleページのレイアウトをカスタマイザーで変更する方法
     */
    add_action(
    	'after_setup_theme',
    	function() {
    		add_filter(
    			'customize_section_active',
    			function( $active, $section ) {
    				// セクション名が singular-post のとき
    				if ( 'singular-post' === $section->id ) {
    					// news の詳細ページを開いているとき
    					if ( is_singular( 'news' ) ) {
    						// singular-post セクションを表示
    						return true;
    					}
    				}
    				return $active;
    			},
    			10,
    			2
    		);
    	}
    );
    
    /**
     * @param string $html テンプレートの中身
     * @param string $slug 一般テンプレートのスラッグ名
     * @param string $name 特定テンプレートの名前
     * @param array $vars テンプレートに渡された変数
     * @return string 書き換え後の HTML
     *
     * template-parts/common/breadcrumbs.php を書き換える場合
     */
    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/prev-next-nav',
    	function( $args ) {
    		// ここで $html を str_replace() や preg_replace() して書き換える
    		$args['vars']['_in_same_term'] = true;
    		return $args;
    	}
    );
    0
    いいねをした人: 居ません
    #59439
    アバター画像キタジマ タカシ
    参加者
    2421

    snow_monkey_template_part_render_ は HTML の書き換えになるので、_in_same_term のようなテンプレートの引数を書き換えたいときは snow_monkey_get_template_part_args_ を使うことになります。

    下記でどうでしょう?

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/content/prev-next-nav',
    	function( $args ) {
    		// ここで $html を str_replace() や preg_replace() して書き換える
    		$args['vars']['_in_same_term'] = true;
    		return $args;
    	}
    );
    0
    いいねをした人: 居ません
    #59285
    アバター画像キタジマ タカシ
    参加者
    2421

    下記のコードを My Snow Monkey プラグイン、あるいは子テーマをお使いであれば子テーマの functions.php に貼り付けてみてください。

    add_filter(
    	'snow_monkey_get_template_part_args_templates/view/content',
    	function( $args ) {
    		if ( 'page' === $args['name'] ) {
    			$args['vars']['_display_comments'] = true;
    		}
    		return $args;
    	}
    );
    1
    いいねをした人: 居ません
    #58665
    アバター画像キタジマ タカシ
    参加者
    2421

    お二人の方法でも実現できると思うのですが、僕も別な方法を。

    レイアウトは「テキスト」の想定です。

    追加 CSS に下記の CSS を貼り付けてみてください。

    @media (min-width: 64em) {
    	.c-entries--text .c-entry-summary__body > .c-entry-summary__meta {
    	  width: 16em;
      }
    }
    
    .c-entries--text .c-entry-summary__meta .c-meta {
    	display: flex;
    }
    
    .c-entries--text .c-entry-summary__meta .c-meta__item--categories {
    	display: block !important;
    }

    My Snow Monkey に下記のコードを貼り付けてみてください。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/loop/entry-summary/term/term',
    	function( $args ) {
    		$days  = 5; // NEWマークを表示する日数
    		$now   = date_i18n( 'U' ); // 今の時間
    		$entry = get_the_time( 'U' ); // 投稿日の時間
    		$term  = date( 'U',( $now - $entry ) ) / 86400;
    		if ( $days > $term ) {
    			$new_term = new stdClass();
    			$new_term->taxonomy = 'my-new';
    			$new_term->term_id  = 0;
    			$new_term->name     = 'NEW';
    			$args['vars']['_terms'] = [ $new_term ];
    		}
    
    		return $args;
    	}
    );
    4
    いいねをした人: 居ません
    アバター画像キタジマ タカシ
    参加者
    2421

    なるほどです。こちらでも試してみますね。
    53行目のみを書き換えであれば、下記のコードで _excerpt_length だけを書き換えるほうが良いかもしれません(もしかしたらテンプレートの上書き機能に不具合があるかもなので)。

    add_filter(
    	'snow_monkey_get_template_part_args_template-parts/loop/entry-summary/content/content',
    	function( $args ) {
    		$args['vars']['_excerpt_length'] = 20;
    		return $args;
    	}
    );

    お手数をおかけしており申し訳ございません。

    いえいえ、お気になさらずに!

    0
    いいねをした人: 居ません
15件の結果を表示中 - 76 - 90件目 (全109件中)

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。