# [メタ情報] # 識別子: wordpressのサイドバーへpodcastなど音声配信を設定する_exe # 補足: # [/メタ情報] 要約: このテキストは、ウェブサイト上でメディアコンテンツ(動画・音声)を配信するシステムを構成する3つの要素について説明しています。 1. **mu1emd_autoplay.php**: ブログのヘッダー・フッターを持たない独立型の自動再生プレイヤーページです。URLの`drid`パラメータに基づき、`videoct.json`からコンテンツのタイトル、URL、画像、字幕情報を取得し表示します。音声コンテンツにはカスタム再生バーを、動画・音声両方には字幕一覧をプレイヤー下に常時展開し、再生箇所の中央ハイライト追従スクロールやクリックシークに対応。小窓ポップアップ時には自動リサイズされます。 2. **サイドバーのカスタムHTML**: 上記プレイヤーページへのリンクバナーをサイドバーに表示します。バナー画像下の題名テキストは、設定された`drid`に対応する最新情報を`videoct.json`から動的に取得し、自動で反映させます。PCでは専用のポップアップウィンドウで、スマートフォンでは直接リンク先が開くよう挙動が最適化されています。 3. **AppleScript(不要)**: かつてサイドバーのカスタムHTMLを自動生成するために使用されていましたが、現在のカスタムHTMLが`videoct.json`から題名を自動取得し連動する機能を持つようになったため、その役割は不要となりました。 サイドバーのカスタムhtml ```
Podcast XXXXXX図書館

読み込み中...

``` cocoon-child-master mu1emd_autoplay.php ``` > >
Q&A
'; if ($is_audio) { echo '
'; if(!empty($image_url)) { echo '
'; echo ''; } // ★ autoplay を削除し、preload="none" に統一 echo ''; echo '
00:00 00:00
'; // ★ 修正:JSONの"title"があれば最優先し、無ければパラメータから安全取得 $display_title = !empty($title_val) ? $title_val : mu1_autoplay_get_title(); echo '
'; echo ' ' . esc_html($display_title); echo '
'; echo '
'; } else { echo '
'; // ★ autoplay を削除し、preload="none" に統一 echo ''; echo '
'; } // ★ タイトルの直下に字幕一覧TXTを展開 if (!empty($subtitle_list_url)) { echo '
'; $sub_html = file_get_contents($subtitle_list_url); echo $sub_html ? $sub_html : '

字幕一覧の取得に失敗しました。

'; echo '
'; } echo ''; } } } ?> ``` タイトルを動画パッケージの題名から取得するように変更したので、 以下のAppleScriptは不要になりました。 AppleScript Podcast音声配信用カスタムhtml作成.scpt ``` -- ========================================================= -- Podcast & 動画パッケージ用 カスタムHTML自動生成スクリプト -- ========================================================= on run -- 1 タイトルの入力(デフォルト値を「XXXXXX図書館Podcast」に設定) set inputTitle to text returned of (display dialog "1 タイトル(題名)を入れてください:" default answer "XXXXXX図書館Podcast" buttons {"キャンセル", "OK"} default button "OK") -- 2 動画パッケージURLの入力(基本URL形式) set inputPackageURL to text returned of (display dialog "2 この音声を再生する動画パッケージURLを入れてください:\n(例: https://XXXXXX.com/mu1?drid=m51)" default answer "https://XXXXXX.com/mu1?drid=m51" buttons {"キャンセル", "OK"} default button "OK") -- 3 画像URLの入力(変更不要・空欄の場合はデフォルト画像を設定) set inputImageURL to text returned of (display dialog "3 サイドバーのリンク画像を変更したい場合はURLを入れてください:\n(変更不要・空欄の場合はそのまま「OK」を押してください)" default answer "" buttons {"キャンセル", "OK"} default button "OK") -- 画像URLのトリム&空欄判定(未入力・スペースのみの場合はデフォルト画像を設定) set trimmedImageURL to do shell script "python3 -c 'import sys; print(sys.argv[1].strip())' " & quoted form of inputImageURL if trimmedImageURL is "" then set finalImageURL to "https://XXXXXX.com/rd.php?id=bIPRIe5d.png" else set finalImageURL to trimmedImageURL end if -- ▼ 内部で /mu1? を /mu1emd_autoplay/? へ自動置換し、&frag=1 を補完する処理 ▼ set convertedURL to inputPackageURL if convertedURL contains "/mu1?" then set convertedURL to my replaceText(convertedURL, "/mu1?", "/mu1emd_autoplay/?") else if convertedURL contains "/mu1/?" then set convertedURL to my replaceText(convertedURL, "/mu1/?", "/mu1emd_autoplay/?") end if -- frag=1 パラメータの自動付与 if convertedURL contains "frag=1" is false then if convertedURL contains "?" then set convertedURL to convertedURL & "&frag=1" else set convertedURL to convertedURL & "?frag=1" end if end if -- タイトル文字列をURLエンコード(Python3を使用) set encodedTitle to do shell script "python3 -c 'import urllib.parse, sys; print(urllib.parse.quote(sys.argv[1]))' " & quoted form of inputTitle -- 動画パッケージURLへ &title= を自動付与 set finalPackageURL to convertedURL if finalPackageURL contains "title=" is false then if finalPackageURL contains "?" then set finalPackageURL to finalPackageURL & "&title=" & encodedTitle else set finalPackageURL to finalPackageURL & "?title=" & encodedTitle end if end if -- カスタムHTMLの組み上げ(画像・左詰めテキスト・スマホフリーズ防止JS) set customHTML to "
" & linefeed & ¬ " " & linefeed & ¬ " \"Podcast" & linefeed & ¬ " " & linefeed & ¬ "

" & linefeed & ¬ " " & inputTitle & linefeed & ¬ "

" & linefeed & ¬ " " & linefeed & ¬ "
" -- クリップボードへ一括保存 set the clipboard to customHTML -- 完了ダイアログの表示 display dialog "カスタムHTMLの生成が完了し、クリップボードにコピーしました!\nWordPressの「カスタムHTML」にそのまま貼り付けてご使用ください。" buttons {"OK"} default button "OK" with icon note end run -- テキスト置換用サブルーチン on replaceText(originalText, searchString, replacementString) set AppleScript's text item delimiters to searchString set textItems to text items of originalText set AppleScript's text item delimiters to replacementString set replacedText to textItems as text set AppleScript's text item delimiters to "" return replacedText end replaceText ```