תגיות: Page Builder, Titanium
-
מאתתגובות
-
02/01/2016 בשעה 23:14 #42154
שלום 🙂
כיצד אני יוצר custom post type בתבנית titanium שתהיה מבוססת על "פוסטים" ושתכיל page builder?
התשמשתי בתוסף https://wordpress.org/plugins/custom-post-type-ui/ לצורך יצירת ה"קסטום פוסט" שאני רוצהאני מבין שעל מנת לבנות את ה"קסטום פוסט" שאני רוצה, עלי להביא ל child theme את הקבצים: ,page.php, single.php content.php
אבל פה קצת נתקעתי כי לא שולט עדין ב 100% במבנה של wp ו pojoאשמח לעזרה
03/01/2016 בשעה 11:32 #4219004/01/2016 בשעה 17:35 #42390תגובה זו סומנה כפרטית.04/01/2016 בשעה 23:36 #42431בשורה
'grid_6' => __( 'Grid 6', 'pojo' ),
אתה מוסיף עוד אפשרויות כמו שאתה רוצה. רק חשוב שה-key של המערך הזה יהיה זהה לערך שאתה כותב ב-content-{{SLUG}}.php
.05/01/2016 בשעה 15:00 #42522תודה על ההכוונה הצלחתי להכניס את ה key הנכון ולהציג את התוכן בצורה של גריד 3 עמודת כפי שרציתי.
ראיתי שבגלריות ניתן גם להחליט אם רוצים להציג פילטר של הקטגרויות:
הלכתי ל core/addons/galleries/classes/class-pojo-gallery-cpt.php
והצלחתי ליצור ב CPT 'trips' שליבאמצעות העתקת הקוד:$fields[] = array( 'id' => 'add_filter_by_category', 'title' => __( 'Add Filter By Category', 'pojo' ), 'type' => Pojo_MetaBox::FIELD_SELECT, 'options' => array( '' => __( 'Show', 'pojo' ), 'hide' => __( 'Hide', 'pojo' ), ), 'std' => '', );
הבעיה: אני כרגע לא מצליח להציג (בפרונט של הדף) את הפילטור לפי הקטגוריות היחודיות שיצרתי ל CPT שלי..
יצרתי את הקטגוריות באמצעות הוספת הקוד שלמטה ל functions.php:add_action( 'init', 'build_taxonomies', 0 ); function build_taxonomies() { register_taxonomy( 'categories', 'trips', array( 'hierarchical' => true, 'label' => 'קטגוריות טיולים', 'query_var' => true, 'rewrite' => true ) ); }
הייתי רוצה שיוצגו כפי שהן מוצגות בגלריות של פוגו':
05/01/2016 בשעה 15:34 #42531בקובץ שלקחת ממנו את החומר הזה, תראה את המימוש שלו באיזורים אחרים (תעשה חיפוש על המילה
po_add_filter_by_category
).05/01/2016 בשעה 17:42 #42544היי יקיר,
איתרתי את הפונקציה והוספתי ל functions.php באופן הבא:
public function pojo_before_content_loop( $display_type ) { if ( 'trips' !== atmb_get_field( 'po_content' ) || 'hide' === atmb_get_field( 'po_add_filter_by_category' ) ) return; $taxonomy_terms = atmb_get_field( 'po_taxonomy_terms', false, Pojo_MetaBox::FIELD_CHECKBOX_LIST ); if ( empty( $taxonomy_terms ) ) return; $terms = get_terms( 'categories', array( 'include' => $taxonomy_terms, ) ); if ( is_wp_error( $terms ) ) return; ?><ul class="category-filters"> <li><a href="javascript:void(0);" data-filter="*" class="active"><?php _e( 'All', 'pojo' ); ?></a></li> <?php foreach( $terms as $term ) : ?> <li><a href="javascript:void(0);" data-filter=".filter-term-<?php echo esc_attr( $term->term_id ); ?>"><?php echo $term->name; ?></a></li> <?php endforeach; ?> </ul><?php } add_action( 'pojo_before_content_loop', array( &$this, 'pojo_before_content_loop' ), 20 );
כמובן שקיבלתי:
Parse error: syntax error, unexpected T_PUBLICמה עשיתי לא נכון?
האם תהיה מוכן לעשות איתי חצי שעה team viewer ולעזור לי?
אשמח גם לשלם לך עבור העזרה.05/01/2016 בשעה 18:04 #42558שלי ותיקנתי את הפונקציה:
// Add Pojo trips to smart page function pojo31106_add_post_type_to_smart_page( $post_types = array() ) { $post_types[] = 'trips'; return $post_types; } add_filter( 'pf_format_content_list', 'pojo31106_add_post_type_to_smart_page' ); // Add filters to trips smart page function pojo31106_smart_page_add_fields( $fields = array() ) { $cpt = 'trips'; $fields[] = array( 'id' => 'content', 'type' => Pojo_MetaBox::FIELD_HIDDEN, 'std' => $cpt, ); // If you want filter by Taxonomy //$fields[] = array( //'id' => 'taxonomy', //'type' => Pojo_MetaBox::FIELD_HIDDEN, //'std' => 'categories', //); $fields[] = array( 'id' => 'taxonomy_terms', 'title' => __( 'Choose Category', 'pojo' ), 'type' => Pojo_MetaBox::FIELD_TAXONOMY_TERM_CHECKBOX, 'taxonomy' => 'categories', ); $fields[] = array( 'id' => 'display_type', 'title' => __( 'Select Content Layout', 'pojo' ), 'type' => Pojo_MetaBox::FIELD_SELECT, 'options' => array( '' => __( 'Default', 'pojo' ), 'trips_three_columns' => __( 'גריד 3 עמודות', 'pojo' ), ), 'std' => '', ); // If you want to display Taxonomy $fields[] = array( 'id' => 'add_filter_by_category', 'title' => __( 'Add Filter By Category', 'pojo' ), 'type' => Pojo_MetaBox::FIELD_SELECT, 'options' => array( '' => __( 'Show', 'pojo' ), 'hide' => __( 'Hide', 'pojo' ), ), 'std' => '', ); return $fields; } add_filter( 'pf_list_posts_cpt-trips', 'pojo31106_smart_page_add_fields' ); // display trips filters categories public function pojo_before_content_loop( $display_type ) { if ( 'trips' !== atmb_get_field( 'content' ) || 'hide' === atmb_get_field( 'add_filter_by_category' ) ) return; $taxonomy_terms = atmb_get_field( 'taxonomy_terms', false, Pojo_MetaBox::FIELD_CHECKBOX_LIST ); if ( empty( $taxonomy_terms ) ) return; $terms = get_terms( 'categories', array( 'include' => $taxonomy_terms, ) ); if ( is_wp_error( $terms ) ) return; ?><ul class="category-filters"> <li><a href="javascript:void(0);" data-filter="*" class="active"><?php _e( 'All', 'pojo' ); ?></a></li> <?php foreach( $terms as $term ) : ?> <li><a href="javascript:void(0);" data-filter=".filter-term-<?php echo esc_attr( $term->term_id ); ?>"><?php echo $term->name; ?></a></li> <?php endforeach; ?> </ul><?php } add_action( 'pojo_before_content_loop', array( &$this, 'pojo_before_content_loop' ), 20 );
אבל עדין עדין מקבל…Parse error: syntax error, unexpected T_PUBLIC
🙁05/01/2016 בשעה 18:12 #42567כי המקור שלקחת הוא מתוך מחלקה. ואתה כתבת פונקציה עם public שזה לא בתוך מחלקה.. פשוט אז תמחוק את המילה public וגם תמחק את ה-array( &$this…
05/01/2016 בשעה 18:45 #42587מחקתי, כך זה נראה כעת:
// display trips filters categories function pojo_before_content_loop( $display_type ) { if ( 'trips' !== atmb_get_field( 'content' ) || 'hide' === atmb_get_field( 'add_filter_by_category' ) ) return; $taxonomy_terms = atmb_get_field( 'taxonomy_terms', false, Pojo_MetaBox::FIELD_CHECKBOX_LIST ); if ( empty( $taxonomy_terms ) ) return; $terms = get_terms( 'categories', array( 'include' => $taxonomy_terms, ) ); if ( is_wp_error( $terms ) ) return; ?><ul class="category-filters"> <li><a href="javascript:void(0);" data-filter="*" class="active"><?php _e( 'All', 'pojo' ); ?></a></li> <?php foreach( $terms as $term ) : ?> <li><a href="javascript:void(0);" data-filter=".filter-term-<?php echo esc_attr( $term->term_id ); ?>"><?php echo $term->name; ?></a></li> <?php endforeach; ?> </ul><?php } add_action( 'pojo_before_content_loop' );
רק שעכשיו הוא צועק עלי ש
Warning: Missing argument 2 for add_action(), called in /home/coopflam/public_html/baobabtrips/wp-content/themes/titanium-child/functions.php on line 101 and defined in /home/coopflam/public_html/baobabtrips/wp-includes/plugin.php on line 457הסתכלתי שם וזה מה שרשום:
function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) { return add_filter($tag, $function_to_add, $priority, $accepted_args); }
05/01/2016 בשעה 18:48 #42590אתה צריך להויסף את זה בצורה תקינה.. תלמד מפה איך לעשות את זה נכון: https://codex.wordpress.org/Function_Reference/add_action
ובקוד שלך תכתוב ככה:
add_action( 'pojo_before_content_loop', pojo_before_content_loop, 20 );
05/01/2016 בשעה 19:02 #42593אחלה הכנסתי, הwarning ירד 🙂
אבל ה taxonomy_terms עדין לא מוצגים..אולי בגלל הצורה שבה הגדרתי אותם?
// Add Pojo builder to posts function pojo_add_builder_in_posts() { add_post_type_support( 'post', array( 'pojo-page-format' ) ); } add_action( 'init', 'pojo_add_builder_in_posts' ); // WP trips Categories function build_taxonomies() { register_taxonomy( 'categories', 'trips', array( 'hierarchical' => true, 'label' => 'קטגוריות טיולים', 'query_var' => true, 'rewrite' => true ) ); } add_action( 'init', 'build_taxonomies', 0 ); // Add Pojo trips to smart page function pojo31106_add_post_type_to_smart_page( $post_types = array() ) { $post_types[] = 'trips'; return $post_types; } add_filter( 'pf_format_content_list', 'pojo31106_add_post_type_to_smart_page' ); // Add filters to trips smart page function pojo31106_smart_page_add_fields( $fields = array() ) { $cpt = 'trips'; $fields[] = array( 'id' => 'content', 'type' => Pojo_MetaBox::FIELD_HIDDEN, 'std' => $cpt, ); // If you want filter by Taxonomy //$fields[] = array( //'id' => 'taxonomy', //'type' => Pojo_MetaBox::FIELD_HIDDEN, //'std' => 'categories', //); $fields[] = array( 'id' => 'taxonomy_terms', 'title' => __( 'Choose Category', 'pojo' ), 'type' => Pojo_MetaBox::FIELD_TAXONOMY_TERM_CHECKBOX, 'taxonomy' => 'categories', ); $fields[] = array( 'id' => 'display_type', 'title' => __( 'Select Content Layout', 'pojo' ), 'type' => Pojo_MetaBox::FIELD_SELECT, 'options' => array( '' => __( 'Default', 'pojo' ), 'trips_three_columns' => __( 'גריד 3 עמודות', 'pojo' ), ), 'std' => '', ); // If you want to display Taxonomy $fields[] = array( 'id' => 'add_filter_by_category', 'title' => __( 'Add Filter By Category', 'pojo' ), 'type' => Pojo_MetaBox::FIELD_SELECT, 'options' => array( '' => __( 'Show', 'pojo' ), 'hide' => __( 'Hide', 'pojo' ), ), 'std' => '', ); return $fields; } add_filter( 'pf_list_posts_cpt-trips', 'pojo31106_smart_page_add_fields' ); // display trips filters categories function pojo_before_content_loop( $display_type ) { if ( 'trips' !== atmb_get_field( 'content' ) || 'hide' === atmb_get_field( 'add_filter_by_category' ) ) return; $taxonomy_terms = atmb_get_field( 'taxonomy_terms', false, Pojo_MetaBox::FIELD_CHECKBOX_LIST ); if ( empty( $taxonomy_terms ) ) return; $terms = get_terms( 'categories', array( 'include' => $taxonomy_terms, ) ); if ( is_wp_error( $terms ) ) return; ?><ul class="category-filters"> <li><a href="javascript:void(0);" data-filter="*" class="active"><?php _e( 'All', 'pojo' ); ?></a></li> <?php foreach( $terms as $term ) : ?> <li><a href="javascript:void(0);" data-filter=".filter-term-<?php echo esc_attr( $term->term_id ); ?>"><?php echo $term->name; ?></a></li> <?php endforeach; ?> </ul><?php } add_action( 'pojo_before_content_loop', pojo_before_content_loop, 20 );
?
05/01/2016 בשעה 23:19 #42622תנסה לגשת אליהם בצורה של po_taxonomy_terms.. וגם תגדיר שמה את ה-taxonomy לפי ה-taxonomy שלך..
-
מאתתגובות
הפורום 'תמיכה' נסגר לדיונים ולתגובות חדשות.