-
投稿者検索結果
-
*****[ プライベートトピックのため非表示 ]♥ 0いいねをした人: 居ません2020年12月10日 3:22 PM #62798
返信が含まれるトピック: カスタム投稿タイプのタグ表示
@アクツさん
カスタムタクソノミーの場合は、タグ形式でもカテゴリー形式でも、コンテンツのメタ情報の部分に載ってしまうのが正しい挙動かと思います。
あ、記事タイトル下のところに、タグ形式のタクソノミーがでちゃうこともあるってことですよね(複数タクソノミーが割り当てられている場合はどちらかのタクソノミーが表示)。挙動的にはバグっちゃバグですね…^^; 投稿の場合はカテゴリーだけなので、カスタム投稿のときもカテゴリー形式のタクソノミーだけが表示されるのが正しい気がします。これはちょっと修正入れます。
一番良さそうな形か微妙ですが、
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いいねをした人: 居ません2020年12月9日 5:39 PM #62706返信が含まれるトピック: カスタム投稿タイプのタグ表示
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; } );
2020年12月8日 1:03 AM #62496返信が含まれるトピック: wp_profile_boxの著者別記事一覧へのリンクを該当の投稿タイプの記事一覧にしたい
ありがとうございます!
バッチリな感じがします。
投稿の時は、今まで通りの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いいねをした人: 居ません2020年12月7日 2:54 PM #62472返信が含まれるトピック: 投稿一覧で、各投稿の親カテゴリのみを複数表示したい
これでどうでしょうか?
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いいねをした人: 居ません2020年12月4日 3:01 PM #62282返信が含まれるトピック: wp_profile_boxの著者別記事一覧へのリンクを該当の投稿タイプの記事一覧にしたい
まだベータ版なのですが、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いいねをした人: 居ません2020年12月4日 2:58 PM #62279返信が含まれるトピック: 「Facebookのいいね!ボックス」を「SNSのフォローボックス」に変更したい
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いいねをした人: 居ません2020年11月9日 10:08 AM #60572返信が含まれるトピック: カスタム投稿タイプの個別ページにシェアボタンを表示したい
いろいろやり方はあると思いますが、主なやり方は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いいねをした人: 居ません2020年10月30日 3:31 PM #59992返信が含まれるトピック: 関連記事のレイアウトをカテゴリー毎に変更や表示・非表示を制御したい
北島様
あ、一応このフォーラムは僕含めサブスクリプション契約者の方は誰でも質問・回答ができる場所でして、宛名があると他の方が答えにくくなると思うので、宛名は無しでお願いします!
関連記事のレイアウトをカテゴリー毎に変更や表示・非表示を制御したいのですが、可能でしょうか。
はい、できます! 例えばカテゴリー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いいねをした人: 居ません2020年10月21日 5:00 PM #59530v11.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いいねをした人: 居ません2020年10月21日 7:56 AM #59449返信が含まれるトピック: snow_monkey_template_part_render_の使い方について
ご返信ありがとうございます。
キャッチアップ画像は変わったようなのですが、
リンクとテキストは元のままのようです。
自分のカスタマイズした部分に問題があるのでしょうか?
一応、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いいねをした人: 居ません2020年10月21日 12:44 AM #59439返信が含まれるトピック: snow_monkey_template_part_render_の使い方について
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いいねをした人: 居ません2020年10月18日 2:42 PM #59285返信が含まれるトピック: 固定ページのコメント欄が表示されなくなった
下記のコードを 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いいねをした人: 居ません2020年10月7日 10:10 AM #58665返信が含まれるトピック: 最新記事一覧のブロックに「新着記事(NEW)」アイコンをつけたい
お二人の方法でも実現できると思うのですが、僕も別な方法を。
レイアウトは「テキスト」の想定です。
追加 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いいねをした人: 居ません2020年9月18日 11:18 AM #57643返信が含まれるトピック: 最新の投稿ブロックで抜粋を表示したとき、2つ目だけ抜粋文字数のフックを通過しない
なるほどです。こちらでも試してみますね。
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いいねをした人: 居ません -
投稿者検索結果