tag:crieit.net,2005:https://crieit.net/tags/%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B0/feed 「スラッグ」の記事 - Crieit Crieitでタグ「スラッグ」に投稿された最近の記事 2021-12-05T12:17:15+09:00 https://crieit.net/tags/%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B0/feed tag:crieit.net,2005:PublicArticle/17822 2021-12-05T12:17:15+09:00 2021-12-05T12:17:15+09:00 https://crieit.net/posts/wordpress-plugin-modify-slug-format-20211205 (WordPress) 記事投稿時にスラッグを機械的に投稿IDと投稿日付で整形するプラグイン <h2 id="経緯"><a href="#%E7%B5%8C%E7%B7%AF">経緯</a></h2> <p>記事投稿時にスラッグを機械的に投稿IDと投稿日付で整形するプラグインが欲しくなったので作りました。</p> <p>条件としては以下の通り。</p> <ul> <li>基本的に1日1記事しか作成しない運用の WordPress サイト</li> <li>通常の投稿のみ適用する</li> <li>フォーマットは <code><post_type>-<post_id>-yyyy-mm-dd</code> とする <ul> <li>month, date は0詰めあり</li> <li>通常の投稿のみなので <code><post_type></code> は不要ではありますが、念のためつけておきます</li> </ul></li> </ul> <h2 id="コード"><a href="#%E3%82%B3%E3%83%BC%E3%83%89">コード</a></h2> <pre><code class="php"><?php if( is_admin() ) { function my_modifiy_slug( $slug, $post_ID, $post_status, $post_type ) { if ( $post_type === 'post' ) { $slug = utf8_uri_encode( $post_type ) . '-' . $post_ID . '-' . date('Y-m-d'); } return $slug; } add_filter( 'wp_unique_post_slug', 'my_modifiy_slug', 10, 4 ); } </code></pre> <p>これで意図した挙動になることを確認。</p> <h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://takayakondo.com/wordpress-auto-post-slug/">WordPressの投稿の日本語スラッグを自動的に英字スラッグに書き換える方法 - Offise Kondo</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://eng-entrance.com/php-date">PHPでの日付取得方法! 詳細まとめました</a></li> </ul> <h3 id="(余談) 「スラッグ」の語源は?"><a href="#%28%E4%BD%99%E8%AB%87%29+%E3%80%8C%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B0%E3%80%8D%E3%81%AE%E8%AA%9E%E6%BA%90%E3%81%AF%EF%BC%9F">(余談) 「スラッグ」の語源は?</a></h3> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://ohbarye.hatenablog.jp/entry/2017/07/04/234737">ソフトウェアの世界での slug / スラグ / スラッグの意味 - valid,invalid</a> <ul> <li>原文: <a target="_blank" rel="nofollow noopener" href="https://stackoverflow.com/questions/4230846/what-is-the-etymology-of-slug">url - What is the etymology of 'slug'? - Stack Overflow</a></li> <li>slug line: <a target="_blank" rel="nofollow noopener" href="https://en.wikipedia.org/wiki/Screenplay#Format_and_style">Screenplay - Wikipedia</a></li> </ul></li> <li><a target="_blank" rel="nofollow noopener" href="https://whatswp.t-haku.com/whats-wp/permalink-and-slug/">パーマリンクとスラッグ | What's wp ?</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%A9%E3%82%B0">スラグ - Wikipedia</a></li> </ul> arm-band