| 开发者 | mark8barnes |
|---|---|
| 更新时间 | 2026年10月14日 07:32 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv3 or later |
| 版权网址: | 版权信息 |
sermon-browser.zip from the latest release on GitHub. In your WordPress admin, go to Plugins, Add New, Upload Plugin, and choose the zip. (Don't use GitHub's "Download ZIP" button: it unpacks to a folder with the wrong name, and the plugin's folder must be called sermon-browser.)[sermons]. The plugin will display your sermons on this page.SermonBrowser only displays your sermons where you choose. You need to create the page/post where you want the sermons to appear (or edit an existing one), and add [sermons] to the page/post. You can also add some explantory text if you wish. If you do so, the text will appear on all your sermons pages. If you want your text to only appear on the list of sermons, not on individual sermon pages, you need to edit the SermonBrowser templates (see customisation).
SermonBrowser creates its upload folder (usually wp-content/uploads/sermons/) and needs to be able to write to it. If it can't, give the web server permission to write to that folder, as it can to wp-content/uploads, or ask your host to. Don't make the folder writeable by everyone (777), whatever the message says.
The most likely cause is that you're reaching either the maximum file size that can be uploaded, or the maximum time a PHP script can run for. The Options page warns if either is low. You may be able to raise them in php.ini or your host's control panel, but if you're on shared hosting, your host may have set limits you cannot change. If that's the case, upload your files to the upload folder by FTP, and the Files page will find them. FTP is generally a better option than your browser anyway, particularly if you have several files to upload. These settings should be adequate:
file_uploads = On upload_max_filesize = 15M post_max_size = 15M max_execution_time = 600 max_input_time = 600 memory_limit = 48M
SermonBrowser shows each MP3 with the MP3 shortcode on the Options page. The default, [audio mp3="%SERMONURL%"], uses WordPress's built-in player. If you see an icon, check that the shortcode includes %SERMONURL%, and that the plugin providing it (if you use another player) is active. The admin pages warn about either problem.
Sermon Browser can show the ESV (which needs a free API key, entered on the Options page) or the NET Bible. To switch to the NET Bible, go to Templates, and edit the single template: replace [esvtext] with [nettext]. Thanks go to Crossway for providing access to the ESV, and bible.org for the NET Bible.
The other versions Sermon Browser used to offer (KJV, ASV, YLT, WEB, AKJV, HNV, Reina Valera, Cornilescu and Synodal) came from a service that no longer exists. Their template tags now show nothing.
To show a version Sermon Browser doesn't offer, use another Bible plugin that finds references on the page: in the single template, replace [esvtext] with [biblepassage], which prints the sermon's Bible references as plain text for such plugins to find.
SermonBrowser comes with several widgets you can add to your sidebars - just go to Appearance and choose Widgets.
If you want to add sermons elsewhere on your site, and you are comfortable in editing template files, add the following code: <?php if (function_exists('sb_display_sermons')) sb_display_sermons(array('display_preacher' => 1, 'display_passage' => 1, 'display_date' => 1, 'preacher' => 0, 'service' => 0, 'series' => 0, 'limit' => 5, 'url_only' => 0)) ?>. Each of the values in that line can be changed or omitted (if they are omitted, the default values are used). For example, you could just use: <?php if (function_exists('sb_display_sermons')) sb_display_sermons(array('preacher' => 12)) ?>. The various array keys are used to specify the following:
You could, of course, change your host to someone a little more generous! You should also make sure you encode your sermons at a medium to high compression. Usually, 22.05kHz, 48kbps mono is more than adequate (you could probably go down to 32kbps for even higher compression). 48kbps means every minute of recording takes up 360kb of disk space, so a thirty minute sermon will be just over 10Mb. At this setting, 5Gb would be enough for over 450 sermons. If you can't change your host, you can still use SermonBrowser. You'll just have to upload your sermon files to another site. You can then use the other site's embed code, or just link to the MP3 file if they allow you (when you add your sermon to SermonBrowser, select "Enter an URL" and paste it in).
The link is only shown if a template includes [creditlink]. New installations don't include it; templates saved by older versions may, and you can remove it on the Templates page. If you'd like to help other churches find SermonBrowser, add [creditlink] to your templates.
In SermonBrowser options, you are able to change the address of the public podcast feed. This is the feed that is shown on your sermons page, and is usually the same as your private feed (i.e. you won't need to change it). However, if you publish your podcast through another service, which reads your private feed, set the public feed to that service's address. Otherwise, just make sure your public and private feeds are the same.
The link under Subscribe to Podcast for "All sermons" gives a podcast of all sermons that you add to your site through SermonBrowser. But it may be that some people may just want to subscribe to a feed for certain speakers, or for a certain service. If they wish to do this, they should set the search filters and perform their search, then click on the subscribe link for "Filtered sermons." This will give them a podcast according to the filter they selected. You could also copy this link, and display it elsewhere on the site - for example to provide separate feeds for morning and evening services.
Yes. Use the shortcode [sermons dir=asc] instead of just [sermons].
You've probably changed the address of your public feed to an incorrect value. Try changing it back to the same value as your private feed in Sermon Options.
Yes, definitely, although you need to know a little HTML and/or CSS. SermonBrowser has a powerful templating function, so you can exclude certain parts of the output (e.g. if you don't want the links to other sermons preached on the same day to be displayed). The Customisation section has much more information.
The search form is set to roughly 500 pixels, which should be about right for most WordPress templates. To change it, look for a line in the CSS stylesheet that begins table.sermonbrowser td.field input, and change the width specified after it. To make the form narrower, reduce the width. To make it bigger, increase the width. You'll also need to change the width of the date fields on the line below, which should be 20 pixels smaller.
Alternatively, you could try using the one-click style filter, which is inherently responsive. The one-click style filter is selected on the Sermons, Options admin screen.
This usually happens for one of three reasons: (1) The Bible texts are provided by external websites, and sometimes they can go down. If you can't see Genesis 1 then the problem is with those websites. They're rarely down for long. (2) If you specify an invalid bible passage (e.g. Romans 22). If this is the case your sermon page will display ERROR: No results were found for your search. (3) Your site must be able to fetch pages from other websites. Some hosts block this; if yours does, ask them to allow requests to api.esv.org and labs.bible.org.
The ESV text needs an API key from api.esv.org, entered on the Options page. Without one, the [esvtext] tag prints nothing. The ESV API allows 5,000 lookups a day for each key, and SermonBrowser looks up the passage each time a sermon page with [esvtext] is viewed, so a busy site may run out. Once the limit is reached, sermon pages show no ESV text.
You'll need to edit the filetypes.php file that comes with Sermon Browser. The icon is chosen on the basis of the file extension (or in the case of URLs the file extension then the site address). If you do create new icons for other file types, consider offering them on GitHub so they can be included in future versions of the plugin.
The Help page in the plugin's admin menu explains how to get started, the shortcode and every template tag, and each admin page has a help tab. To ask a question, report a bug or suggest a feature, open an issue on GitHub. Include a link to your site, and your WordPress and PHP versions.
eval(). They print the same as before.[file], [file_with_download] and [embed] outside their loops show the sermon's first file or embed, as the template tag help has always said; they printed a broken link, or the last one shown.sb_display_sermons() with url_only printed PHP warnings when no sermon matched.data-x='y', into data-x="'y'".template-tags.php that print parts of a sermon (sb_print_preacher_link(), sb_formatted_date(), sb_print_preacher_description() and the rest) take a SermonBrowser\Sermon instead of a database row, sb_print_code() takes the embed's HTML instead of base64, and sb_get_sermons(), sb_get_single_sermon(), sb_get_stuff(), sb_get_books(), sb_print_bible_passage(), sb_add_bible_text() and sb_compile_template() are gone (SermonBrowser\Passage::reference() formats a passage). sb_display_sermons() is unchanged.null) stopped with a fatal error on PHP 8.[sermons id="latest"] printed PHP warnings when no sermon matched its filters.sortby=s.name) sort by date.SermonBrowser\Sermon_Repository) that returns SermonBrowser\Sermon objects, instead of queries spread through the plugin, with PHPUnit contract tests that any storage must pass.p.name or b.id still work.–) showed the entity in the admin pages' drop-down lists.[creditlink]), the podcast feed's generator and the plugin's home page point to GitHub, and the Help page and help tabs now hold the help themselves, including a description of every template tag. Report problems on GitHub.IS_MU (use WordPress's is_multisite()), SB_PLUGIN_DIR and SB_WP_CONTENT_DIR, and support for installing the plugin in mu-plugins, which didn't work: its URLs were wrong.[sermon_description] and [most_popular] are documented. The changelog before 0.46.0 is in CHANGELOG.md on GitHub.eval().SermonBrowser, in sb-includes/classes) and files by purpose: functions.php, sermons.php and template-tags.php (which was frontend.php). podcast.php and style.php are gone. sb_display_sermons() and the functions templates use are unchanged, but themes or plugins calling other internal functions (such as sb_shortcode(), sb_hijack(), sb_add_headers() or the widget functions) need updating.display_sermons() (deprecated since 0.41), sb_first_mp3(), sb_get_bible_books(), sb_display_front_end() and sb_default_excerpt_template().[nettext]) showed only the heading, because bible.org's old endpoint stopped working. It uses the current one.[sermons] shortcode in the block editor caused a fatal error.[esvtext] without an API key shows nothing instead of falling back to the KJV.