add_action('thematic_searchloop', 'mytheme_search_loop');
// End of the Contextual/Highlight Search functions
-// This series of functions is used for forcing a template if one or any is picked.
-// START FORCE TEMPLATE FUNCTIONS
-add_filter( 'template_include', 'glm_force_template', 99 );
-function glm_force_template( $template ) {
- global $post;
- /*
- * Uncomment this IF statement surrounding the locate_template line
- * if you want to use the given template (index.php) EVERY time any page
- * template is selected & included.
- */
- //if (get_page_template_slug( $post->ID ) == "test-template") {
- $template = locate_template( "index.php" );
- //}
- return $template;
+function get_excerpt_by_id($post_id, $length = 35){
+ $the_post = get_post($post_id); //Gets post ID
+ $the_excerpt = $the_post->post_content; //Gets post_content to be used as a basis for the excerpt
+ $excerpt_length = $length; //Sets excerpt length by word count
+ $the_excerpt = strip_tags(strip_shortcodes($the_excerpt)); //Strips tags and images
+ $words = explode(' ', $the_excerpt, $excerpt_length + 1);
+
+ if(count($words) > $excerpt_length) :
+ array_pop($words);
+ array_push($words, '…');
+ $the_excerpt = implode(' ', $words);
+ endif;
+
+// $the_excerpt = '<p>' . $the_excerpt . '</p>';
+
+ return $the_excerpt;
}
-function get_custom_page_templates() {
- $templates = array();
- // maybe by options? --> $templates = get_option( 'custom_page_templates' );
- // maybe by conf file? --> $templates = include 'custom_page_templates.php';
- return apply_filters( 'custom_page_templates', $templates );
-}
-add_action( 'edit_form_after_editor', 'custom_page_templates_init' );
-add_action( 'load-post.php', 'custom_page_templates_init_post' );
-add_action( 'load-post-new.php', 'custom_page_templates_init_post' );
-
-function custom_page_templates_init() {
- remove_action( current_filter(), __FUNCTION__ );
- if ( is_admin() && get_current_screen()->post_type === 'page' ) {
- $templates = get_custom_page_templates(); // the function above
- if ( ! empty( $templates ) ) {
- set_custom_page_templates( $templates );
- }
- }
-}
-function custom_page_templates_init_post() {
- remove_action( current_filter(), __FUNCTION__ );
- $method = filter_input( INPUT_SERVER, 'REQUEST_METHOD', FILTER_SANITIZE_STRING );
- if ( empty( $method ) || strtoupper( $method ) !== 'POST' ) return;
- if ( get_current_screen()->post_type === 'page' ) {
- custom_page_templates_init();
- }
-}
-function set_custom_page_templates( $templates = array() ) {
- if ( ! is_array( $templates ) || empty( $templates ) ) return;
- $core = array_flip( (array) get_page_templates() ); // templates defined by file
- $data = array_filter( array_merge( $core, $templates ) );
- ksort( $data );
- $stylesheet = get_stylesheet();
- $hash = md5( get_theme_root( $stylesheet ) . '/' . $stylesheet );
- $persistently = apply_filters( 'wp_cache_themes_persistently', false, 'WP_Theme' );
- $exp = is_int( $persistently ) ? $persistently : 1800;
- wp_cache_set( 'page_templates-' . $hash, $data, 'themes', $exp );
-}
-add_filter( 'custom_page_templates', function( $now_templates ) {
- // Any slug->name pairs down here will be selectable in the admin side of
- // a page. You do not need to create a new template file. You can refer to
- // this template by its slug in our index.php using get_page_template_slug
- // Below are some commented examples of custom quasi-templates.
- $templates = array(
- // 'some-custom-page-template' => 'Some Custom Page Template',
- // 'any-template-slug' => 'Sample Template' ,
- );
-
- return array_merge( $now_templates, $templates );
-} );
-// END FORCE TEMPLATE FUNCTIONS
-
-
-// THIS IS HOW IT CAN BE USED IN INDEX.PHP
-// if (get_page_template_slug( $post->ID ) == "some-custom-page-template") {
-// echo "<div id='block'>[I am totally not a block ._.]</div>";
-// } else {
-// echo "<p>The current template used is:".get_page_template_slug( $post->ID )."</p>";
-// }
?>