From 39d0c1aac65cf08354fcf4fcf43c6f195667347e Mon Sep 17 00:00:00 2001 From: Takumi Date: Thu, 25 Jul 2013 03:59:47 +1000 Subject: [PATCH] Add ability to select team players --- actions.php | 25 ++++++++++-- calendar.php | 6 +-- event.php | 23 +++-------- helpers.php | 11 ++++++ images/menu.png | Bin 14090 -> 13903 bytes player.php | 89 +++++++++++++++++++++++++++++++++++------- sportspress-admin.css | 3 +- staff.php | 14 +++---- table.php | 6 +-- team.php | 10 ++--- tournament.php | 4 +- venue.php | 4 +- 12 files changed, 133 insertions(+), 62 deletions(-) diff --git a/actions.php b/actions.php index 488ba31c..d9705156 100644 --- a/actions.php +++ b/actions.php @@ -1,12 +1,29 @@ $value ): + if ( is_array( $value ) ) + $value = serialize( $value ); + update_post_meta( $post_id, $key, $value ); + endforeach; + endif; + endif; +} +add_action( 'save_post', 'sp_save_post' ); ?> \ No newline at end of file diff --git a/calendar.php b/calendar.php index b63aaed2..7c2da112 100644 --- a/calendar.php +++ b/calendar.php @@ -9,7 +9,7 @@ function sp_calendar_cpt_init() { 'public' => true, 'hierarchical' => false, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'page-attributes' ), - 'rewrite' => array( 'slug' => 'calendar' ), + 'rewrite' => array( 'slug' => 'calendar' ) ); register_post_type( 'sp_calendar', $args ); } @@ -20,8 +20,8 @@ function sp_calendar_edit_columns( $columns ) { 'cb' => '', 'title' => __( 'Title' ), 'sp_team' => __( 'Teams', 'sportspress' ), - 'sp_league' => __( 'League', 'sportspress' ), - 'sp_season' => __( 'Season', 'sportspress' ), + 'sp_league' => __( 'Leagues', 'sportspress' ), + 'sp_season' => __( 'Seasons', 'sportspress' ) ); return $columns; } diff --git a/event.php b/event.php index 8cb2e7f4..9cb19902 100644 --- a/event.php +++ b/event.php @@ -187,27 +187,14 @@ function sp_event_article_meta( $post, $metabox ) { wp_editor( $post->post_content, 'content' ); } -function sp_event_save() { - global $post, $post_id, $typenow; - if ( $typenow == 'sp_event' && isset( $_POST ) ) { - if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return $post_id; - if ( ! isset( $_POST['sp_event_team_nonce'] ) || ! wp_verify_nonce( $_POST['sp_event_team_nonce'], plugin_basename( __FILE__ ) ) ) return $post_id; - $sportspress = (array)$_POST['sportspress']; - foreach ( $sportspress as $key => $value ): - update_post_meta( $post_id, $key, $value ); - endforeach; - } -} -add_action( 'save_post', 'sp_event_save' ); - function sp_event_edit_columns( $columns ) { $columns = array( 'cb' => '', 'title' => __( 'Event', 'sportspress' ), 'sp_team' => __( 'Teams', 'sportspress' ), - 'sp_league' => __( 'League', 'sportspress' ), - 'sp_season' => __( 'Season', 'sportspress' ), - 'sp_sponsor' => __( 'Sponsor', 'sportspress' ), + 'sp_league' => __( 'Leagues', 'sportspress' ), + 'sp_season' => __( 'Seasons', 'sportspress' ), + 'sp_sponsor' => __( 'Sponsors', 'sportspress' ), 'sp_kickoff' => __( 'Kick-off', 'sportspress' ) ); return $columns; @@ -223,9 +210,9 @@ function sp_event_custom_columns( $column, $post_id ) { for ( $i = 1; $i <= $limit; $i++ ): $team = get_post_meta( $post_id, 'sp_team_' . $i, true ); $parents = get_post_ancestors( $team ); - foreach ( $parents as $parent ) { + foreach ( $parents as $parent ): edit_post_link( get_the_title( $parent ), '', ' — ', $parent ); - } + endforeach; edit_post_link( get_the_title( $team ), '', '
', $team ); endfor; break; diff --git a/helpers.php b/helpers.php index 3d19e27b..9dbbaaa4 100644 --- a/helpers.php +++ b/helpers.php @@ -83,4 +83,15 @@ if ( ! function_exists( 'sp_team_logo' ) ) { endif; } } + +if ( ! function_exists( 'sp_get_teams' ) ) { + function sp_get_teams( $post_id = null ) { + $teams = get_post_meta( $post_id, 'sp_teams', true ); + if ( isset( $teams ) && $teams ) + $teams = (array)unserialize( $teams ); + else + $teams = array(); + return $teams; + } +} ?> \ No newline at end of file diff --git a/images/menu.png b/images/menu.png index da3ac76644f1a61b6faa30b5d1e51addf2014e91..0e8ada096db8baf34f35e1fd94ba1fff58a8dea5 100644 GIT binary patch delta 12937 zcmZ{~Wl&sA*sYDby9IX%9^56kySuyl#@!iQfh++=xx{(J#Kicxr6k0p*x98x#J_M#NPc1CmK0}~lHlRw zP4j~y`QJfY|Ia~9P-f&}9OCR;?A%gpVjOH=c-h%`IXJ|4rKCA|#K14b#5mJsOKw^I2y1y&Dw= zK^>t(3*!4-W%MtSGGWFbPbU~tF$6f!E`6A4?Ot=wf~NiSQ=IC*g55?G5N11Tf$lp$ z*Rx68wZ|D}Ozxr+ku+F!$=BriVbXQK4GU(WDnXZsusFnc3 zL3iGb^A_LQ7%NW(&ks$8dO1E3mG2sAeJ@OtmgARBn`q_!wp>40Bi7Lb-Dtx>?h;I6 z23%*I4`*^Afd$Gf$j4r3hd{GTa@M@f=C4pZp2;7W4BlC1{bw)0MD z)E~bLnm;(N7epSDxo28*V39&IdjA5PtcFWV;U_l$&9}vUnU-gA#15oo2~6u3IYUPL zI<6+$R@W?N#A96Q=*G}443Z$oU+R6yAK5P?aDaW6H75IGvW|$S;ff z`VoFK>;FvqSPvU$oL(HW8&OZVxrkK*7B+If+|@A8lHxgq!w%{2S}BBzrXvF$>b}Am zwhe<~aX>w@usrxI?T@d`(sKBtUR1zuF`?qNN!QbR$V*K*0$o}Np z^E~l%r(Mjoj}km}6qI|6>*X`BeL$zC({hmj%_o)Ez1n8S@+=GmcG=^>-)lga6l6d@M_i*bbBui+yHidm#55jU0Plr`G1QeoVDTE9* zvRTXIB2+tjN7Z-K`ik%>+@i`v9krarrDw`f*sF%S{|S^5 z7M1APLF9*+NV2iM(Kj{$pcASD=Qr+djp0H=t^Bq@8~#}0eb*}wF=J3!kcLh0zYVGJ ze@N`@D57lqiG`~Zo}Q_ZQ~ZU#|Hpi-@j!1fl)5khnjw5Vop`W_)`V){{oi6Ve*Hx> zd?m7qdz!R&_!;7brm|_15orkDzxJrY>}!4}7uNgD#hWSuNfHqsKv-JZdVBurvxKy? zU6Y^}n%CuUlS+@^USMLsd)HU<-E!{z^AC6PrcM2diSV#hba9i>U*%rt-DoUPXyM0c zL)PPq9rEZ4YVnzI1XI^_SZS%kW>Y!4x}~B7I?Y@jwFW5CPQ0*)D}TN|v5yyW(`}s$ z7f@ZTMI3P(j2&({0*SfGEU6?gh?Tuust*ulmBz=vCLCA1A`26RdhihK#*K+6BM+Wv z;52USU1kpxoP@YK;qT$mzZKhLT8qwO(QNNcII2Y#DV=($wAq>;v2C$Lx08LU-_A6) zs$Oq#B`Ro#94#^yz6e7eyVLsA_QQVO9wu}08=SW$<>O06FmQH?C(AS}_vj-g+B$>b z>=EIW?~f-8@6QXDgMb&ofl@AoFZ8E2kB}`_bJFn! zm-7eR;bFyhf>0>paa9j>YioEZsNHX~WtM4fgBozC1h=$xVl~sEky@zT)xsn( zBEx>ZtsY4+vVdLa3r`KpW7XhqvNut98RIpCipi+lv6^D2gmI)t>nkKS0*yk&yNF{l z2Mg3e9|oaF(;IZ-MIA;!mM=QXfx(+DhCE2fo##}C@*v;;GRMkq*p5r~ElBwEZuu)V zT$6{ZtKYvK5G!79-(Z!&+S*$0#s(UE3Mon(wag+U2wj&aL@w)J;lY zjxFjvzju(ytO+NFMwp&1>wVbO=*jdCuAf#ZxCf7g>mrFb(?QWJNy_F=6Ii_(A#4<(Wu35F_%v;^?R zd)dxwWXeI(Y;6^(bQ(l>UtHPvvfaWxdM2X9A16+^Rzj|I+$N`*1(!;qI_O=Dti)W+ zU`b3J#66J88@OIKNg`2?zx%EwuekAHB@={J1LToJ>Cj`rVF#x7WBeJQril^!wm(sY z<34+Xl^S-Jw;m;i0Mp9uFwG4<+Q*0qw6Kwpi6j$;5I1VmTNh?q=N)Y!*2D_@ZzPnf z7#ER$aLl?L!4q$zZ9ZtCR&97QYMh0Vvc@{yZiL}qrTdTL7DelLL_1G#w?<;z*}4>! z0U0GlSOL9bhFMUhW&FAVgzu<5i_FuZr-03zOl$0VOldMgIbZH?r}Ky&h$9+=)!`u} z=#7o@gP>c?RH*&+qB#hUhudHf0i{06fTVR_7(5)W`wVQSGq*k65ORNmpK$T=+DUwiiHx_62ACgX#iW#z;7T(HIO9O{UZv*B!( zeN4ia)wt6QVp7PV%rEj!JlDunxg5+~y)7~U_p!Z{e1hRWYb;L}OQ zT~7_u$RG-zP~;kQbH_s8Kg2yxCitd{P9pPP^SwH?d6WL8rYRWMnP_NA6RCndZ*iID zP^84+zLiuDn1}RGdX)b(2jIme)JzVWBwJjX*h({zEdCDod>4Y_idRIYd=<jVKP-wa+pke zRyF@6Ip=dtYC=P~m`ZPRvE%8F-|c7&>tnk z*H|?vWW?0^B?C90zwdle6mbb4-@B8>bZSYlWz-_0X`Te%_qi@8#b;&^IFVz*7(^=s{}6VdWE&~a1Qe6mNf%D$1$e* z!*YYvX3=sB;tfy!+gqq<+UoOGQub>MF_v zuXjB8Wo?5nFfm&{l>vRnv)2ABy3e!3fiE7-w)4Lb*IHcFcFw& zA3Xh*ou#EC@kVt zU7G_dg!Ke%u>X~sO7SMb@x$Lek4x_+>;IN!jOp?b?fy^z0378U?5%&rB+Bs+=3QxQ z>$|98aiRN+o46619we}A3o%Ji(>jM_pV&Bw+PL@LzRhDhx-m7TY3E~ULG*XnmXLW= z`p?aN+g)yXWO(@fUpC#l_B}h2Ydjh0M6%3%zN`n$>})py6fE{EAvlJ3c(|k43&l~8 zvZ7*GBk1cez(L};=SCpuBXhH6N@wq4@ey*Ub`LUkGTC&+uT8B=OOqw6D7S1e=l@xY z`J&q~1I@-D3m>FNWbtODX3}vxQ21=}Cbiofi1$(FU!&T;AjC1CsqBm9?)0E1NfLK# zK)CjnGzg(ot;24j_uGzpdz@AHI9#@Y<=SBIFLBl(fWI~&nxYt%j1`bdsWD1m&y!o- z_6NnqW2)zZI4G>?ER-BFCX|+rWiz7b(E8>v@n?dnO~ zw}-#Xk8U$`z7xhvv+6PL-z?7t2CRgT+{ROR_t2OeSF+w58)*VMMS&Nhfz7U=mFTN6 zAC&M1AnMCyT_GpIYW$`LUZXNX(G>R7re_soKhfhw$SbRQAeNTnYv7r-VS6K$oShhU z6tBs}9(jrgd!T@mCFg!x+PCX99kf^puGFfg^BnL5KtEDX?o@#8sQkBaI?Rva{p=50s}3lq_p zKVPnKG2LmjxFtZG{$6A#@b0uiQTf~Nv}xU9MQNPoTi*T<>YJOJ*m@KU<_vj+GP)ED z;JkLZ7uC#;?kkM$mQB66hVF5&6AZW8Cd3=X#%ePpcN=Yl`$R$3FAotJi!S{1+UXRyTu-)qFjRgF^`+ z*5druwZ(1&X)&y@^sNi_jpok9U2#$x8LqvKJ2M`;DOcTK(Y+STM#`~Z9Gx_h29 znJH0-WaBG0g+-f}+5Ef7v&^iV+|cRx*5^_1Ca0+2j>&K0aEdJQ5WT`5y-gT(q?c#^ zuxz3?=3}liZ1*yGy59dwrW0Zeym9LTk28e>LJ1`7~ky@bEO6@u$ zFC`@_pkeZh?CoXfn@cECe!h7fsp?Y z_|6d4xMBB}9b(#M-`XNSwepgale-LohM%LLpt#)Xg{If2#E>l;OJ~vs>}EJ_ zu3*C(t{~U<9EIH*)}!TGyyi~Y;SY}0H#gJO5P}K{-rFD7NqO2Yn~e_m=a^KBVX6(= zzbx99Jl7a?@-uY;AMe2fDw|^*XGxy~;I6K&f&=AFzMh|-C#8s+nH5t@#o~l;Se81Q zu8w;c$3UuAC}f*Cvk{O3*1YoyGU^pdie(*3cya^!@Q=^W;tmeg8p3B(>?qb|CLLG< zw8y&v&_KTl+10L(!oHx6uerVO`kxm{5L;vV8 zFk>D^=eb4Qeg<>qe#OXb#VF&sJQCr)U{;r}0d5)97!e3emxm zmyRXU34+l$J3Bj~b&J-{82?sDNlAl!k;wSm_Vg8UOe{bCr0blox5KNds?Kz^z(=@` z$2k_7X%6}<3q}GLpAFmQtOjFobu(~v)x+RWL;E6-!)j_A7ep%rq2bXSBKFvb)1;Xc z;24WaH^m5-y8``(FE3qs+EOjw+HrwQVHFVw%lf1wWrzqJaS4gxT*T?#UdSnl&?@b^ z|7A#c=l>XzXx|WIn$D=nn3|o9DCBn=-0FS^OcaIf4kf6+-LE=-QVH>D33%f8eZc`D zQ*jzyu7$;Y_J6$GRtF9TL_S`rw7ZMENTZNGw5fxGe%mj?-S)Zp*#{S}n~+j|xcW>y zEPdwLcUTm8e}tY|f?{Q5J@!^mKxwp@hT``;xiv6i3RB%02+nUs((|OEKX5p9TKujK zz^nK|GBQrt{nkAOMTuht1qJ;_ic8;F_uVhQ4E_a}{{zM3GP&^N_?^($)$9}Tu-xj7 zG&*H0cCJZQc9Ygpgy*?xU3K+lC&QRW8Pk;F!YM-CahwHu!!|B1r?sp^*gRfWv!UbJ zii+)4;>(g*gDI)IrOMNM73>{m2KrJ?QS>MAk)=cK1tO1^;5F?+0x z)5Lw+PP=BSQDzi;Kt{nG8 z1-NG^bFJ>yiV;Y-)cXP3eXubkfvG8&y56|4eMn7E9LN9w%X{`7Ai zySeBN%I~Ce!h7F?Z4;?B$@i7_)pWwf%2l8-A%D~ShV)~1*&oCGPI^$Ep_UOK76Jl{ znmJPYl|WLJm)3xawxWzo^2mnZr05Gsnu7n&jqypG25c*mveJZ;NbkAU!{%TKp+^+9~vpu`jiMaTUb|S_EyN;w-0~iasNUu zyygnRG@LriqJZF2F7_iTagvHSmfFE3t2-8#DFYD&r4+CXPnG)0>vvn(s2rPfphbTk z_;hWlS4*6DNZNF7m25`tMxJUjRR{_GFiFO!8Qbolx96?hU8+xXYHB;%1EIGB1$zv8 zP3b9*W|u_%yXTC?#+#I>$RUBF9gJgZb(c$S|7OwY8)XhhG=+V`GYY%pH^?IxZ8-{} z!-hZx?f@f7B-TK3S=MMM@UZUPKs)Xhs+G)a(84x820sfe`y|E7D9Pi_JBXr|YN48< z#ub&qtPP5m9pGic{mN8Co*;?xH-|e6mH3OyF!RHA!(<$KK)2Ni&XAY^t*!i*<#^vu z^Wk_K)gP5YDGmwXwV{;~C2rZ?(o#R1{9(Tq13WC^;{vE4h}%bD=jC6Pw){=r7aRI5 zPb3j|czGo*scMVLZ|Tv|=PwDwJf-i7MY=hgX5gmqXTSwIhMb&(L+zJF49>_IO@!hC zYRJwuxR9n9?0~n6?11P?^s3gJ{r>aasrA%=!OQ(w0~P~F{Iu)4@M4{DCLAVSVD)&wT{h3{6RB8d}cmD6D+w5ruvdiZz!zGO}VWr z+~DS@TiIsm0Q~^9IA3tZ{}9SE04Hnu2{X+%F+_CVL`b-2J?y9mgo2289P#1|0}H!6 zRfuI;mnO$U^w*PK3Z?Whh9LT%4aeK<@$AeV#~C)EI&t!zf&V0Fe-$D}sm)BQeCB7} z-KbulT2D>frSvmQt{OaOj(2izNz^tyur3*O0Dh9!1%6b{EsI)j)`Qld%6xMJH`^_$`g zAaWd24jFw>vkvjsX5`YK-M*+OLDlDBWD?)TLq(+8;NlEs%RU|ERSO2a@-{jwWBrL$ zfICV7aVaBH?NhU{bt+6UI;^!|2E9KW3LfG!P3%c81b_x_0GMXx7>V=xncgsXGI?;# z&7npas@h@4*Z^y-AlR_pDXW`PfWPimxRcfS4b~iWHrKch z`cnfGXiEZoGJDDjn~D0%p%Ac|)He(W)X zd&ph_<#vMV-&8&nG_-Ze;O9=sqyrLW7QP&Hn~jdv-tqDASFBEyZ1_3H*W4(jJl<)X zan*~>?r%oA>@1l9ZW+YQR)2Fs+t3jyOT{vFq1M1Gu>5O3CR>#+&H6S*VeBA(Jd^b! zJT-ICDXm=;yD6-O*`1ov*YCXK(LGP1j)aiGyZ@UA&?V}`*1ZyX#kl>Q?4)Qy(0+m0 zj}WUfwa*p2g}GP3+F)~bwjnz#Oak$i@_$Kyzz^G=P9e($?WU}F3R`C-2Aj_6z~-wf z;y8DeLF}*Ff6EPqDU?zxCAijUIXQm7-N`&tC5o!n56e~`#iwf`Hzw`q5}6Y7Y_|-1 zErN_Q1C0GK*G{*MP3>*J*0s!b18GPs==RAvo=0RS6u8~i=n!z^M4*6z@?Z93mNxZ; zJWYy|5+J3ZFRZTyob`_+y86NIUFFqp)B5lu;ZF$Y3I&Wv4w$fI5fCV(KJ}eS7Q6jM zCdOmEczbGI&po7sJ2YeY=PF^Wd>XUEntJRW*IiPrkhqpvYhpMa?N$}Dd3#)wK+j|3 zLi|P27u&MB75W;&I`}w@>yzqA(PPN51XrdC@TDYg=fJcBZy>moZDM1>OKH={v8TU^ z;K-xA6_J=&Q`A7gBFeM-OfS@Th>Gt|dTS!LN@!dgU&0hI%2b1?ZXvqldV*|-y6JR7 zF}9j*VPK+L6FCt|y6|sZVo;M`XO~5%-(3zoJp5z`R0NT0HkLjUT?lpuQOvW*H)JT`ov`vx^|F)Wbxe*KHv_ z;0yEJq=$f&8HeC@H z1olNoJ-3Qh&(%4BkSXH6YHeV(yb*;|cMjHxqy9+JMap$X!@Ckl^&&}lq9wcP%y+)()G+NHQg3`bi_3 zA5v&(bhQYkk+%paCX`?VaR2@u>VY13;a}RKz4tUJ#&8XFvb}q9(gu0)72!MyGX;Yf z6LATyd@==(I!`LQMm49fr7Jr3=8vXq<mlM&G+XrXST}OP?z{c2~PP)d7bV=6>AeMQe(#s8vLipX~ zM2Vxcq++JhgF@ynSI=U5@m3nzJ4UuHg4LTVnui}W>TCOf2>I|2YUI=I)+2fx%HYyc z>YiS7;Ny+w_37}N%h?L|<4zpwEf^|d^xsBoI|qIo;hy^)mqfT!yA|6zq^w+r?r+VbvL(P{pw0|u$^B`FN|qWR;NRgX^T`o2$QfVpJl`fqu3m7_Sj(- zYxI$&1G&&&Rj(GmtD>zLB8%-lrx!WZT+al(t>6|(mDsUeHPEOuWLUt!j;o9&<$rRZ z;QNe+vI1y8bV6dy-a-tR(*uTb!FZPWy@+>4zK1AB(}g6_ks5uB<;ep?oD3LK0>R*> z1kDJc)8axAa6A3A-eMF>@#FoiQ_4n)!9&6pvAh+JGD0NW&B#;?=`2DmtGuv6G|aCC zVZDcEGXNSc46?Ym*lqls`@p%j_rr+9*NZf^3;RI0%7& zhj4sN#6kIO{w1W62P%-a?A+uf-icc6VdPr4O8i@3T4fB9`1wvl?mF5ha zi->z^^#?gWE#42!nyJ)@-$VIs_46G(KLcTTvG9;L&$`huuLxa^yYK?m9Vj>`pv6mm zPZh^=65RQX$S8)+oZHnmOe;XB8|VT~C|?<@-b1wD95%Z?MWT~^W*FGoGMPH|Nc|0V zUnK4JT#+^gV$6Eb@iQ*a={MuhJPlFW&P-yfytV7qJvpN&W@cu3Mn`4ULXR@6$3b9} zHXn*tMI~Sh1|{W-dp>2o`(JcEY=Jo|=@WI`&po-L_dnmD-1N0JD5{gWqZumZ6flY+euSX@Sp`ag2+mU5GZ6Zqz%@dzN; zJ~y7UFr#gL6$C-NeSP;npg}OQNmy8Fq^-BNE<#Zst?vZ2-NfXQtA#koI905qyg$~s zxj$#qD{Q(j%EOWW@lmF&G65IYQNIjC_sB~?(PCtJq_P2k380rVWmZ z8<3aN6*}KJNV(%dS4gvTkANaqBVgPq8HDv!z}^VMIx;&JQa!R7Nv7C3dZefJKboQ# zRipcLwDP+uNxT4uA(ghMs7NiEmdQx96oJcOiH(@=73}6E%^ONL$}1~-FE!d?GXyZ0 zzCGWu1wMQ9c*q_DT#hR^<%+p*$au`j&!~hrPEJl-Px|U1&mO;)zQuBEBksQ0vkflz zGgb#gSB~kwmdma$QwCV@O}ff&`#n;MvCf>59qawet+$>eWdM1Dv3tCOX&+_q01C+- zt?4n4Sm7p9B$nOro@58PCngrR)M5mg9poaxO7Xf8=;I9NcoVRB%wr~k) z+SCECGjhZSH;(H)n26JpUS$S*RPgraeVMy88F@mul?fv589lcyBpHVl0+PNcz z`@;}RAREvN@zcO|vW~8Qw?lM0qLMK!bAh!LpM+On$^hx%N&>`F*QszC7aN^4(0y1q z;=0XF`8X@RyGpz6*#pVg7WrAwr|`X86q_QM0mdP=N=_nK zv?uAI(zo)QHWWROMKBBj?4qSe0%aH8q#r9L{0AO%v%`GA^(0wZ-G}DLD0? zu$%Y;_VJj0q9oIz*CE&!w-PMj5a-c!zyNA&o#Eq3g=H}S!*ra=D2ekL+ z92R>^d%HD*=&#sOB>hf5?xp4B5IGt?WLqQ+spniYv}K7sNgXi0Md~+`5*B)NGf$=v zBKjl@F{qczgiD$-*`?*tYcUJ(AdPby#=JA)yyJk%E+0FP2Isx>!YR@N;J#->07X6s z`@&;Dc#8S)_N?4@csaeJpFe-HG%#vb;r#&@CL~lafE(&nn{2zj*Fkh-a^RI>P>L7N z(Q0l_ll<9KVIzm$M&9PL5RM~IN{hOjSj{&%+}KqU--Vkm%X0IP#95QNAg7_h&4J0$ zTF>uv!EJ-#PU%2mtBD?Eohax8a8cdS*TW>d)l5yey(@L+An(^?BFBvGr|NzYFBLV5 zBiU?^>O?C^i>oY)4oKJ*&`X9$r|raB=yKW3Ap`^lmQ7)ff-{98pQ{~l_o z6_7N#ZD4)9r8-@58pduhdlXBUpG$ofHu;kRJ z)ZaQx^-tyVdyZ+-!|{pL>T_Z$y`qvD!^zDS{po+$Lu15_kNk_BzV=XYS(OfeSRzKd2GOy6#~54;gP+OJZ8z2FG4pcR;p zY_2&4$_2LdpDlAJSyTKFu>?E4l@gPZRhcq7yOBm1iAIuq-U7gp@jUA1!P5Rdb@Za@ zX3SbCnk*KI)}JTa{ZY;=y1!t&&evqCl1e8etK>)23tQaKs#TAM2qobu@t)ON4rR?; zQik~GsyW>xl0s~c^?zXD5^~$k89G3lgPB$nXR>+V_30*Md9n{2Z&)5n)ktEg_R*Bb zG;9hA3Pw(mpabhkYoZUaw1HCZ#<-Qk^_}y8%ljA;s4n-?ud;B87K&P{PIlA zBm9Ox&0rm4dg>Td$n@l1`>_*M>7z14^@d)x87f_v*ZFdkmsrljEQgDDCtP7qMa@g& zEP+B;L@-GI%|N_RoamT@s7Ozy{&JCrz;u#U=dqgw+F^GT z^Qw&7JOSEz0)n*Nt;{&rtqUvU1UcTmV|o^9Yl1>u20E4R+=bq5QMUe0Vv+$!KVNyk zV)_tpN9pu`=t|J~&RX;JV(xny*R(8BGIJ8TNTY!Ug>K2+Rfk8!g0MEuMwWWw?WaDX z7ny-{?+{yYy(Y+SR^!YBZXfz+w3He!#B~7f`;2dV_sU{Vd%)Vao_tK1wOSx`c+D!*zt_zTL znG1taDWP;wspGi4n8iy~pD|fI->pCFv6U6`!*`8xTt)vZsYa0gZDsFz=npwqPkJx_^X3TszP|A@7ZkU{8cY9{JV{3~(>y!8(>C zX+0RaF_~@VZ%>Y6_CSYK2It^u;f1!OnewqDVB`+25!XiW4w#4co9R_ zFZ6*CiyvL&VG^MjGh2hf8)tXcM%oj9mYUwC`ot5PmWtMU23s+xE9}aqQj?nLaBi-k z_@zrB$}5O0?RhmGZ@NX?0AiwaR!AazR+SQO6})le{_>9R?jg?Tn>1=!tVCK2YxBn* z&Kh+_f&akn{l)$1;)Sr#v|JSd48uT-j}tT}13e0(c@e^*6yo5FM9cV#B=cR!OnQ&~ zUySo7`UY<4wC|1aJTx>k*bm1s|A_cx#VAOyGLDI;%Nm6PpCSH+09>{+;c&vO#}Y8v zjIFen^{)Y$CPeK2wJD$g|X8Ebc!moiwTg}1S3_I*BuSEjA}icC11LI#WF z5Hcb48sUj!Nam3;r{-m{6j9b3TH*BywC!?I+r`Exa1z|q5fp|0U;>;TmBRgH31@Rr zq>(SKq*9Wp?V->hCJX2xj270{)SNMEK+OHL#rwcIn8i&_ zPtmVV)#91@=NwJWK*Lf;C*HyH9VXT4r;z`Bo&fOvx?iyeXtpW-h(0q^c|`4KZA507 zEY?V;MRGoQ!eKq?jBuAl}O!&mgkLWuo)c*T6YJ@+x~!yIVy*?o#{(M)j zKr1aTmlJn!ae=V5w&wLb!8!71yOKe3Z`CCP+kf*B{7I#k5zWmHd0^HMZFSox2a8iI zY^-2mFH&4wnzHGi#Zqw-MICF^|CxY9{wM(0Uh(nuts&<3pa%;Fxedrv7_h06DhTsm z{vs(UDQaLqg2SYR@*in|B~#$EyUyg_aj?f&S22vCAX)FQ%yEs-v$;u@mzPIQP7X1a z$%+on=2Dx$o^C{$eCB^ynFksV3)qhAh#Uys5bsQ-k#C|_7OPtfD=8@fKm~buC}5%s z4t%+neVHLst11&bVhILEyYl>*xtU-$(@1DZaMwp4oSex%t=c&Jrx{bf)_Y$VF(mY< z+;n|||Etdx_2-X*EhRq<4eY-&+bgU_F}_~KKmUEnl;L1{F(W8nsC)tMQ0W9B*&CG7 zSB7xO)Vw@uMQI*;U;zajmB7PwLK+wvmbth3{x^+xRFOD2#^8fs!Wusebmc1JSL5SR zVwi9FJNFng@P@}g4A6=>T#&}b#>WOuMqsDa=Pi2s7TnEi z@9dC<*5rQzvFK~@|$-O+Bg*mOaOW4@Z=fCj$e@~Bq8>2ed__@CS!KyH;H0Dse*K8o7eDi};jEi3#Y(=O=Lmg+DX84OXa!<(6y&@!Hs5eE;wW2@0;Mw0RtFEoBi* z*>ELiWMteGP=hmX7gtZ3I@2P#vYg((WB*Ni>#)f-U;Kb#eMN<}ryo+zMBwEXq|lrf z=`23j2XM#aVfb$Xh6Y4+u>T_HVvfh Y!b1zH0JDCg0s?%=N-0U!ikpP~AI*8)GXMYp delta 13110 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 MX=SNu3FDyu1NNXix&QzG diff --git a/player.php b/player.php index e1202334..aaaf1d57 100644 --- a/player.php +++ b/player.php @@ -8,41 +8,102 @@ function sp_player_cpt_init() { 'labels' => $labels, 'public' => true, 'hierarchical' => false, - 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'page-attributes' ), - 'rewrite' => array( 'slug' => 'player' ), + 'supports' => array( 'title', 'author', 'thumbnail', 'page-attributes' ), + 'register_meta_box_cb' => 'sp_player_meta_init', + 'rewrite' => array( 'slug' => 'player' ) ); register_post_type( 'sp_player', $args ); } add_action( 'init', 'sp_player_cpt_init' ); +function sp_player_meta_init() { + add_meta_box( 'sp_playerdiv', __( 'Player', 'sportspress' ), 'sp_player_basic_meta', 'sp_player', 'side', 'high' ); + add_meta_box( 'sp_profilediv', __( 'Profile', 'sportspress' ), 'sp_player_profile_meta', 'sp_player', 'normal', 'high' ); +} +function sp_player_basic_meta( $post, $metabox ) { + global $post_id; + ?> +
    +
  • +
+
+ +
    + 'sp_team') ); + foreach ( $teams as $team ): + ?> +
  • + +
  • + +
+
+
+

+ + + + +

+
+ '; +} + +function sp_player_profile_meta( $post, $metabox ) { + wp_editor( $post->post_content, 'content' ); +} + function sp_player_edit_columns( $columns ) { $columns = array( 'cb' => '', - 'sp_icon' => ' ', 'title' => __( 'Name', 'sportspress' ), - 'sp_position' => __( 'Position', 'sportspress' ), - 'sp_team' => __( 'Team', 'sportspress' ), - 'sp_league' => __( 'League', 'sportspress' ), - 'sp_season' => __( 'Season', 'sportspress' ), - 'sp_sponsor' => __( 'Sponsor', 'sportspress' ), + 'sp_position' => __( 'Positions', 'sportspress' ), + 'sp_team' => __( 'Teams', 'sportspress' ), + 'sp_league' => __( 'Leagues', 'sportspress' ), + 'sp_season' => __( 'Seasons', 'sportspress' ), + 'sp_sponsor' => __( 'Sponsors', 'sportspress' ) ); return $columns; } add_filter( 'manage_edit-sp_player_columns', 'sp_player_edit_columns' ); -function sp_player_custom_columns( $column ) { - global $post, $post_id, $typenow; +function sp_player_custom_columns( $column, $post_id ) { + global $post, $typenow; if ( $typenow == 'sp_player' ): switch ($column): - case 'sp_icon': - if ( has_post_thumbnail() ) the_post_thumbnail( 'sp_icon' ); - break; case 'sp_position': if ( get_the_terms ( $post_id, 'sp_position' ) ) the_terms( $post_id, 'sp_position' ); else echo '—'; break; + case 'sp_team': + $teams = sp_get_teams( $post_id ); + foreach ( $teams as $team ): + $parents = get_post_ancestors( $team ); + $parents = array_combine( array_keys( $parents ), array_reverse( array_values( $parents ) ) ); + foreach ( $parents as $parent ): + if ( !in_array( $parent, $teams ) ) + edit_post_link( get_the_title( $parent ), '', ' ', $parent ); + echo '— '; + endforeach; + edit_post_link( get_the_title( $team ), '', '
', $team ); + endforeach; + break; case 'sp_league': if ( get_the_terms ( $post_id, 'sp_league' ) ) the_terms( $post_id, 'sp_league' ); @@ -64,7 +125,7 @@ function sp_player_custom_columns( $column ) { endswitch; endif; } -add_action( 'manage_posts_custom_column', 'sp_player_custom_columns' ); +add_action( 'manage_posts_custom_column', 'sp_player_custom_columns', 10, 2 ); function sp_player_request_filter_dropdowns() { global $typenow, $wp_query; diff --git a/sportspress-admin.css b/sportspress-admin.css index c93fb761..f920e4f2 100644 --- a/sportspress-admin.css +++ b/sportspress-admin.css @@ -91,7 +91,8 @@ #sp_kickoffdiv #timestampdiv p { display: none; } -#sp_articlediv .wp-editor-container { +#sp_articlediv .wp-editor-container, +#sp_profilediv .wp-editor-container { background-color:#fff; } .widefat th.column-sp_icon, diff --git a/staff.php b/staff.php index 880a6df5..515fb9c4 100644 --- a/staff.php +++ b/staff.php @@ -9,7 +9,7 @@ function sp_staff_cpt_init() { 'public' => true, 'hierarchical' => false, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'page-attributes' ), - 'rewrite' => array( 'slug' => 'staff' ), + 'rewrite' => array( 'slug' => 'staff' ) ); register_post_type( 'sp_staff', $args ); } @@ -18,12 +18,11 @@ add_action( 'init', 'sp_staff_cpt_init' ); function sp_staff_edit_columns( $columns ) { $columns = array( 'cb' => '', - 'sp_icon' => ' ', 'title' => __( 'Name', 'sportspress' ), - 'sp_team' => __( 'Team', 'sportspress' ), - 'sp_position' => __( 'Position', 'sportspress' ), - 'sp_league' => __( 'League', 'sportspress' ), - 'sp_season' => __( 'Season', 'sportspress' ), + 'sp_team' => __( 'Teams', 'sportspress' ), + 'sp_position' => __( 'Positions', 'sportspress' ), + 'sp_league' => __( 'Leagues', 'sportspress' ), + 'sp_season' => __( 'Seasons', 'sportspress' ) ); return $columns; } @@ -33,9 +32,6 @@ function sp_staff_custom_columns( $column ) { global $post, $post_id, $typenow; if ( $typenow == 'sp_staff' ): switch ($column): - case 'sp_icon': - if ( has_post_thumbnail() ) the_post_thumbnail( 'sp_icon' ); - break; case 'sp_position': if ( get_the_terms ( $post_id, 'sp_position' ) ) the_terms( $post_id, 'sp_position' ); diff --git a/table.php b/table.php index d29f2a6a..2db28541 100644 --- a/table.php +++ b/table.php @@ -9,7 +9,7 @@ function sp_table_cpt_init() { 'public' => true, 'hierarchical' => false, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'page-attributes' ), - 'rewrite' => array( 'slug' => 'table' ), + 'rewrite' => array( 'slug' => 'table' ) ); register_post_type( 'sp_table', $args ); } @@ -20,8 +20,8 @@ function sp_table_edit_columns( $columns ) { 'cb' => '', 'title' => __( 'Title' ), 'sp_team' => __( 'Teams', 'sportspress' ), - 'sp_league' => __( 'League', 'sportspress' ), - 'sp_season' => __( 'Season', 'sportspress' ), + 'sp_league' => __( 'Leagues', 'sportspress' ), + 'sp_season' => __( 'Seasons', 'sportspress' ) ); return $columns; } diff --git a/team.php b/team.php index 96310545..cbb2f5cd 100644 --- a/team.php +++ b/team.php @@ -10,7 +10,7 @@ function sp_team_cpt_init() { 'hierarchical' => true, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'page-attributes' ), 'register_meta_box_cb' => 'sp_team_meta_init', - 'rewrite' => array( 'slug' => 'team' ), + 'rewrite' => array( 'slug' => 'team' ) ); register_post_type( 'sp_team', $args ); } @@ -39,8 +39,6 @@ add_filter( 'gettext', 'sp_team_text_replace', 20, 3 ); function sp_team_meta_init() { remove_meta_box( 'postimagediv', 'sp_team', 'side' ); add_meta_box( 'postimagediv', __( 'Logo', 'sportspress' ), 'post_thumbnail_meta_box', 'sp_team', 'side', 'high' ); - remove_meta_box( 'pageparentdiv', 'sp_team', 'side' ); - add_meta_box( 'pageparentdiv', __( 'Team', 'sportspress' ), 'page_attributes_meta_box', 'sp_team', 'side', 'high' ); } function sp_team_edit_columns($columns) { @@ -48,9 +46,9 @@ function sp_team_edit_columns($columns) { 'cb' => '', 'sp_icon' => ' ', 'title' => __( 'Team', 'sportspress' ), - 'sp_league' => __( 'League', 'sportspress' ), - 'sp_season' => __( 'Season', 'sportspress' ), - 'sp_sponsor' => __( 'Sponsor', 'sportspress' ), + 'sp_league' => __( 'Leagues', 'sportspress' ), + 'sp_season' => __( 'Seasons', 'sportspress' ), + 'sp_sponsor' => __( 'Sponsors', 'sportspress' ) ); return $columns; } diff --git a/tournament.php b/tournament.php index 9f602e57..e8b34767 100644 --- a/tournament.php +++ b/tournament.php @@ -9,7 +9,7 @@ function sp_tournament_cpt_init() { 'public' => true, 'hierarchical' => true, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'comments', 'page-attributes' ), - 'rewrite' => array( 'slug' => 'tournament' ), + 'rewrite' => array( 'slug' => 'tournament' ) ); register_post_type( 'sp_tournament', $args ); } @@ -21,7 +21,7 @@ function sp_tournament_edit_columns( $columns ) { 'title' => __( 'Title' ), 'sp_team' => __( 'Teams', 'sportspress' ), 'sp_event' => __( 'Events', 'sportspress' ), - 'sp_sponsor' => __( 'Sponsor', 'sportspress' ), + 'sp_sponsor' => __( 'Sponsor', 'sportspress' ) ); return $columns; } diff --git a/venue.php b/venue.php index 3458e8a3..1db97d77 100644 --- a/venue.php +++ b/venue.php @@ -9,7 +9,7 @@ function sp_venue_cpt_init() { 'public' => true, 'hierarchical' => true, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'page-attributes' ), - 'rewrite' => array( 'slug' => 'venue' ), + 'rewrite' => array( 'slug' => 'venue' ) ); register_post_type( 'sp_venue', $args ); } @@ -20,7 +20,7 @@ function sp_venue_edit_columns( $columns ) { 'cb' => '', 'title' => __( 'Venue', 'sportspress' ), 'sp_address' => __( 'Address', 'sportspress' ), - 'sp_sponsor' => __( 'Sponsor', 'sportspress' ), + 'sp_sponsor' => __( 'Sponsors', 'sportspress' ) ); return $columns; }